每日一练-Q1-大数加法-20231001

news2024/11/25 6:46:50

目录

1.题目描述

2.输入描述

3.示例提示

4.问题分析

5.通过代码


1.题目描述

  大数一直是一个c语言的一个难题。 现在我们需要你手动模拟出大数加法过程。 请你给出两个大整数加法结果。

2.输入描述

第一行输入整数n,第二行输入整数m。 (1<=number<=1e100)

3.示例提示

输出两数加和。

4.问题分析

  本题还是比较简单的.因为只是涉及到一个基础的数据结构的题目,我们可以用链表来进行解决,当然
我们也能够用最为基础的数组来进行解决,我们的核心思路就是将大数变成一个字符串,这样不管多大的数
我们都能够进行存储,然后再转化为对应位的整形数字,再进行对应的操作并且输出即可。

5.通过代码

#include<iostream>
#include<string.h>
#include<cstring>
#define maxn 1000
using namespace std;
//大数加法是一个非常经典的数据结构的题目
int main()
{
    char s1[maxn],s2[maxn];//要输入的数据
    gets(s1);
    gets(s2);
    //再定义两个数组来存储整形的s1,s2
    int a1[maxn]={0};
    int a2[maxn]={0};
    //开始进行字符->整形转化
    int j1=0;//s1索引
    int j2=0;//s2索引
    //s1 change
    for(int i=strlen(s1)-1;i>=0;i--)
    {
        a1[j1]=s1[i]-'0';
        j1++;
    }
    //s2 change
    for(int i=strlen(s2)-1;i>=0;i--)
    {
        a2[j2]=s2[i]-'0';
        j2++;
    }
    //输入s1: 112321122
    //输入s2: 123414123
    //把s1和s2逆序排列
    //change a1:221123211
    //change a2:321414321
    //这样逆序排列之后,等会数位相加才符合正常的计算逻辑

    //数位相加
    for(int i=0;i<maxn;i++)
    {
        a1[i]+=a2[i];
        //如果大于10就进1
        if(a1[i]>=10)
        {
            a1[i]-=10;
            a1[i+1]+=1;
        }
    }
    int f=0;//标记符号
    for(int i=maxn-1;i>=0;i--)
    {
        //找到第一个不为0的w
        if(a1[i]!=0||f==1)
        {
            cout<<a1[i];
            f=1;
        }

    }
    if(f==0) cout<<"0";
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1053831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 224. 基本计算器

文章目录 题目代码&#xff08;10.1 首刷看解析&#xff09; 题目 Leetcode 224. 基本计算器 代码&#xff08;10.1 首刷看解析&#xff09; class Solution { public:int calculate(string s) {stack<int> sk; // 存储正负号sk.push(1);int sign 1;int res 0;int i…

优维低代码实践:应用级配置

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…

【Vue】Vuex详解,一文读懂并使用Vuex

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《ELement》。&#x1f3af;&#x1f3af; &#x1…

一图带你了解封装与分用

一、前缀知识 IP地址&#xff1a;用于定位主机的网络地址。 端口号&#xff1a;区分主机上不同的应用程序。 协议&#xff1a;描述了网络通信传输的数据的含义。 二、TCP/IP五层网络模型 物理层&#xff1a;描述了网络通信中基础设施的规范。 数据链路层&#xff1a;相邻节点之…

fcntl函数 非阻塞轮询

fcntl&#xff08;&#xff09; 在打开的文件描述符 FD 上执行下面描述的操作之一。 操作由 cmd 确定。 fcntl&#xff08;&#xff09; 可以采用可选的第三个参数。 是否需要此参数由 cmd 确定。 所需的参数类型在后面的括号中指示。 每个cmd名称&#xff08;在大多数情况下&…

公众号迁移是什么?

公众号账号迁移的作用是什么&#xff1f;只能变更主体吗&#xff1f;微信公众平台的帐号迁移功能可将原公众号的粉丝、文章素材、违规记录、留言功能、名称等迁移至新的公众号。通过迁移可以实现公众号的公司主体变更、粉丝转移、开通留言功能、服务号转为订阅号等作用。因此不…

博弈论——劳资博弈

劳资博弈 0 引言 前一篇文章介绍了静态博弈中常见的几个案例以及场景&#xff0c;并且在此之前也还介绍过斯塔克尔伯格博弈等动态博弈&#xff0c;以及相关的解决方法——反应函数法。今天我们继续介绍一个常见的动态博弈——劳资博弈&#xff0c;并利用反应函数解决&#xff…

视觉人机器视觉线下培训遵循十大原则

1.​上课期间&#xff0c;自习时间没收手机&#xff0c;偷偷使用手机&#xff0c;将会被通报严重批评。 2.完善的教学设备&#xff0c;与具备现场落地设备要求。 3.教学与实操结合&#xff0c;老师教学的同时&#xff0c;要求你按照老师的效果&#xff0c;进行复现&#xff0…

黑马程序员RabbitMQ入门到实战教程【基础篇】学习笔记

目录 一、初始MQ 1.1、同步调用 1.2、异步调用 1.3、MQ技术选型 二、RabbitMQ 2.1、安装 2.2、收发消息 2.2.1、交换机 2.2.2、队列 2.2.3、绑定关系 2.2.4、发送消息 2.3、数据隔离 2.3.1、用户管理 2.3.2、virtual host 三、SpringAMQP 3.1、导入Demo工程 3…

【中国知名企业高管团队】系列23:金山软件KINGSOFT

今天是2023年10月1日&#xff0c;第74个国庆节&#xff0c;华研荟祝各位小伙伴节日快乐&#xff01;阖家幸福&#xff01; 这个特别的日子里&#xff0c;我们来了解金山软件的高管团队。 说到金山软件&#xff0c;可能很多非IT圈的人或者年轻的朋友们不一定知道&#xff0c;但…

【LeetCode热题100】--101.对称二叉树

101.对称二叉树 使用递归&#xff1a; 实现一个递归函数&#xff0c;通过同步移动两个指针的方法来遍历这颗树&#xff0c;p 指针和 q 指针一开始都指向这棵树的根&#xff0c;随后 p 右移时&#xff0c;q左移&#xff0c;ppp 左移时&#xff0c;q 右移。每次检查当前 p 和 q节…

【STM32 LVGL基础教程】初识LVGL

文章目录 前言一、什么是LVGL&#xff1f;二、LVGL的诞生历程三、LVGL的用途四、模拟器使用LVGL4.1 下载codeblocks并运行模拟器lvgl4.2 更改lvgl设置更改帧数更改颜色深度 五、STM32使用LVGL总结 前言 嵌入式系统中的图形用户界面&#xff08;GUI&#xff09;已经成为现代设备…

小说推文和短剧推广以及电影达人带货电影票

小说推文、短剧推广、电影达人&#xff08;带或电影票&#xff09;都可以通过“巨量推文“进行申请授权 小说推文和短剧推广是什么&#xff1f; 小说推文和短剧推广的逻辑其实一样&#xff0c;分为cpa拉新和cps分成的推广形式 cpa拉新是你推广的用户必须为新用户&#xff0c…

【 SuperPoint 】图像特征提取上的对比实验

1. SIFT&#xff0c;SuperPoint 都具有提取图片特征点&#xff0c;并且输出特征描述子的特性&#xff0c;本篇文章从特征点的提取数量&#xff0c;特征点的正确匹配数量来探索一下二者的优劣。 SuperPoint提取到的特征点数量要少一些&#xff0c;可以理解&#xff0c;我想原因大…

mac如何卸载应用并删除文件,2023年最新妙招大公开!

大家好&#xff0c;今天小编要为大家分享一些关于mac电脑的小技巧&#xff0c;特别是关于如何正确卸载应用程序以及清理卸载后的残留文件。你知道吗&#xff1f;很多人都不知道&#xff0c;mac系统默认的卸载方式可能会导致一些残留文件滞留在你的电脑上&#xff0c;慢慢地占用…

算法竞赛备赛之贪心算法训练提升,贪心算法基础掌握

1.区间问题 905.区间选点 给定N个闭区间[ai, bi]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量&#xff0c;位于区间端点上的点也算作是区间内。 将每个按区间的右端点从小到大排序 从前往后依次枚举每…

VS Code 如何搭建 C/C++开发环境

目录 VScode是什么? VScode的下载和安装? 2.1 下载和安装 安装&#xff1a; 2.2 环境的介绍 环境介绍&#xff1a;​编辑 安装中文插件&#xff1a; VScode配置 C/C 开发环境 3.1 下载和配置MinGW-w64 编译器套件 下载&#xff1a; 配置MinGW64&#xff1a; 3.2 安…

排序篇(六)----排序小结

排序篇(六)----排序小结 排序算法复杂度及稳定性分析 直接插入排序的算法复杂度&#xff1a; 最好情况下&#xff0c;当数组已经有序时&#xff0c;直接插入排序的时间复杂度为O(n)&#xff0c;其中n是数组的大小。最坏情况下&#xff0c;当数组逆序排列时&#xff0c;直接插…

【python海洋专题二】读取水深nc文件并水深地形图

【python海洋专题二】读取水深nc文件并水深地形图 海洋与大气科学 导入函数包 from netCDF4 import Dataset import numpy as np import matplotlib.pyplot as plt 前两个上期更新说明了&#xff1a;第一个读取nc文件&#xff0c;第二个用于计算。 matplotlib.pyplot&#xf…

Audacity 使用教程:轻松录制、编辑音频

Audacity 使用教程&#xff1a;轻松录制、编辑音频 1. 简介 Audacity 是一款免费、开源且功能强大的音频录制和编辑软件。它适用于 Windows、Mac 和 Linux 等多种操作系统&#xff0c;适合音乐制作、广播后期制作以及普通用户进行音频处理。本教程将带领大家熟悉 Audacity 的…