大数相加(杭电1002)

杭电ACM 1002大数相加 两种方法 A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 316067    Accepted Submission(s): 61349 Problem Description I have 阅读详情

题目链接:https://acm.dingbacode.com/showproblem.php?pid=1002

 题目注意事项:

1:多组输入还有输出格式(杭电最喜欢多组输入即卡一下输出了)

2:肉眼可见的大数相加(就是那long long都存不下的那种)

题目思路:

long long 满足不了题目的话,只能想到用两个字符串来保存一下两个大数,在字符串按位相加减,这里要注意的是,满十要向前面进一。

AC代码(含分析):

#include<bits/stdc++.h>//万能头文件
using namespace std;
int main()
{
    int n;//n保存多组输入的案例数
    cin>>n;
    int temp=1;//temp控制输入的案例数
    while(temp<=n)
    {
        char a[1001],b[1001],c[1001],d[1001],e[1001];
        cin>>a>>b;//输入的两个数,用a[],b[]来存
        strcpy(d,a);
        strcpy(e,b);
        if(strlen(a)<strlen(b))//用来判断那个数大一些(长一些),对齐相加
        {
            //c[]就是中间变量
            strcpy(c,a);
            strcpy(a,b);
            strcpy(b,c);
        }
        //经过上面操作之后,a成功的保存了较大的数,b即为较小的那个数
        int len1=strlen(a);
        int len2=strlen(b);
        for(int i=0;i<len2;i++)
        {
            a[len1-1-i]=a[len1-1-i]+b[len2-1-i]-'0';//用字符数组a来保存相加的结果
            if(a[len1-i-1]>'9')//满十进一
            {
                a[len1-2-i]++;//前一个字符加1
                a[len1-1-i]-=10;//当前字符减10
            }
        }
        cout<<"Case "<<temp++<<":"<<endl;//输出样子
        printf("%s + %s = %s\n",d,e,a);//输出样子
        if(temp-1<n) cout<<endl;//杭电要求的输出格式
    }
    return 0;
}

不会还有人看不懂吧~

其实大数相加的还是python牛一些,读者自行完成~

【ACM】杭电OJ 1002 题目链接:杭电OJ 1002 表面上看是a+b,很简单,其实是大数的相加,所以要考虑的因素有很多;(瞬间觉得要是能用Python多好,哈哈哈) 还有!!! 要特别注意格式的输出!!!真的害死人!!!摸不清输出格式到底是啥,只能多尝试几下!!! 思路: 我是先找处两个字符串中长度较大的那个,(但是也有特殊情况,例如“5”+“7”,需要进一位,所以,在前面需要预留一个空格,如果最后是“0... 阅读详情

相关推荐

大数相加的经典算法))

大数相加的算法,很不错,是用字符串的方法

杭电 OJ-ACM1002 (A+B Problem Ⅱ)

杭电OJ1002

m0_73891157的博客 1630

用Python实现一个简单的远程桌面服务端和客户端

本文介绍了一个基于Python的轻量级远程桌面解决方案,针对商业软件在嵌入式系统上的兼容性问题、性能问题和成本问题。系统采用客户端-服务端架构,包含两个通信通道:5000端口传输压缩视频流,5001端口传输控制事件。通过多线程设计、图像压缩(JPEG+zlib)和网络优化(禁用Nagle算法)等技术手段提高性能。服务端实现了高效的屏幕捕获(使用mss库)、图像处理流水线和事件处理逻辑。客户端采用PyQt5构建UI界面,包含视频接收线程以减少主线程负担。该方案具有跨平台、开源免费、轻量级(核心代码不到500行

Hi20240217的博客 1660

2023杭电多校第二场1002-Binary Number

杭电多校第二场1002-Binary Number

wetqadsg的博客 360

Python 打包与发布陷阱:如何用 setuptools 和 PyInstaller 生成跨平台可执行文件?

使用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1206

基于STM32+华为云设计的智能鱼缸

本项目基于STM32单片机设计一款基于物联网的智能鱼缸系统,并通过应用侧接口开发上位机APP实现远程对鱼缸参数的检测和控制。该系统包括水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能,可以帮助用户更好地管理鱼缸,提高鱼儿的生存率,同时增强用户对家庭装饰品的掌控感和科技感。

1万+

杭州电子科技大学oj1002

杭州电子科技大学oj1002

qq_59758616的博客 897

2024 全国大学生新质生产力大赛 B:金融违规交易的大数据分析 问题四思路代码

问题四:请分析附件中所有的指标数据,选取合适的指标,建立“金融违规 洗钱交易的预测模型”,并选取合适的训练集和测试集,计算预测模型的准确率。 为了提前识别并预测金融违规洗钱的交易事件,请基于你们团队数据分析的结果, 分别给公安部门和银行机构提出你们的建议。

YOLO 375

杭电oj 1002 C++

加数太长,普通的基本类型无法满足,用string类型,将其char数位逐位相加。char字符以ASCII的形式存储,两个char字符相加,实际是它们的ASCII相加。两个char字符相加后,如果直接输出,则是它们ASCII的和,想要输出对应的字符,必须将结果赋值给char类型的变量,或者强制转换为char类型。两个数字字符相加后,如果想输出整数状态下的结果,需要减去0的ASCII,即减去‘0’【对于ASCLL的内部计算和外部显示仍然不太明白,待学习】。注意输出格式,每个结果之间要有空行,最后一个结果输出后.

cloudless_sky的博客 350

基于机器学习的电视剧类型点击量数据分析研究

1. 背景介绍 1.1 流媒体平台的兴起与电视剧市场的繁荣 近年来,随着互联网技术的飞速发展,流媒体平台如Netflix、Disney+、腾讯视频等迅速崛起,成为人们观看影视内容的主要渠道。电视剧作为流媒体平台上的重要内容类型,其点击量数据蕴含着丰富的用户偏好和市场趋势信息。

AI天才研究院 1050

【毕设实战】基于YOLOv8的HRSC2016船舶智能检测系统开发全指南(含可视化UI界面,打造海事领域高分毕设)

亲爱的同学,通过这篇教程,你已经掌握了“基于YOLOv8的HRSC2016微小船只检测系统”从数据集处理、模型训练到Tkinter界面开发的全流程。这个课题既贴合“海事智能化”的产业战略,又涵盖了“目标检测、深度学习、界面开发”等多个毕设评分点,非常适合作为计算机或海事工程专业的毕业设计。在实践中,你可能会遇到“海面背景复杂导致船只漏检”“微小船只识别精度不足”“UI与模型推理同步卡顿”等挑战——别担心,这些都是技术成长的必经之路。

know_F0727的博客 127

杭电oj 1002题解答

杭电OJ 1002题目解答

2301_82192658的博客 1442

【嵌入式 – GD32开发实战指南(ARM版本)】第1部分 基础篇 - 第1章 开发环境搭建

开发环境: MDK:Keil 5.30 MCU:GD32F207IK 1.1 GD32F207I-EVAL开发板简介 笔者使用的开发板是兆易创新设计的GD32F207I-EVAL开发板。 GD32F207I-EVAL开发板使用 GD32F207IK作为主控制器,主频120MHz、集成3MB Flash、256KB SRAM、通用定时器*10、Adv. TM*2、Basic TM*2、系统时钟*1、看门狗*2、RTC*1、USART*4、UART*4、I2C*3、SPI*3、I2S*1、SDIO*1、CAN

不问归期的博客 9986

杭电1002 大数相加 c++程序

杭电1002,大数相加 想法 这道题的思想其实并不复杂,难点就在于位数和进位 代码 #include<iostream> #include<string.h> #include<algorithm> using namespace std; int main() { int n,p,q,w; char x[1010],y[1010],z[1010...

Accepted_error的博客 338

从 0 到 1 玩转小智 AI 智能音箱:开发教程 + 实战项目全攻略

如果说 MCP 是工具箱,那 SDK 就是 “技能模板”—— 小智音箱的自定义技能本质是 “意图识别 + 逻辑响应” 的组合,就像给嵌入式设备写驱动程序,只要按规则调用接口,就能实现各种功能。小智 AI 音箱的开发门槛并不高,核心是利用 MCP SDK 封装好的接口,结合嵌入式开发的 “硬件对接 + 逻辑编程” 思维,就能实现各种自定义功能。从环境搭建到技能开发,再到实战项目落地,每一步都是对 “软件控制硬件” 的实践 —— 而这正是嵌入式开发的核心魅力。

weixin_42300449的博客 1193

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

杭电1002——大数相加

杭电OJ中的1002题——大数相加

baidu_35856346的博客 691

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过

杭电ACM(1002)大数相加 A + B Problem II  Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.   Input The first line of the i

smallgyy的专栏 1766

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

杭电1002题——大数相加

杭电1002题链接     对于这个问题,首先需要注意的是数据范围,题目说整数长度不超过1000,我们可以认为最大数据有1000位,这远远超过了任何一种数据类型,因此这么大的两个数据相加要设计算法才能实现。       我们可以先将数字转化为字符串储存在字符数组中,因为数字计算从末位开始并向前进位,所以我们先将数组倒置后再从数组下标为0的位置开始相加,相加后的和对10取余即为相加结果在该位置的...

weixin_42687560的博客 461

杭电ACM oj 1002 大数相加,求助

杭电oj 1002题大数相加,格式与AC的相同,试了很多结果都是对的,但就是过不了,有大神帮忙看一下好吗?谢谢! #include&amp;amp;lt;stdio.h&amp;amp;gt; #include&amp;amp;lt;string.h&amp;amp;gt; int main(void) { char a[10000], b[10000], c[10010] = { 0 }; int i, j, k, r; int t; scanf(&amp;quo

weixin_43322858的博客 385

hduoj--大数相加-- 1002 -- A+B Problem Ⅱ(杭电OJ)

C++ 成功AC 简单易懂,适合初学者 #include <iostream> #include <string> #include <stdio.h> using namespace std; int max(int a,int b) { if (a > b) return(a); else return(b); } int main...

qq_45994751的博客 331

杭电ACM 1002 大数相加

又快要省赛了,最后一年在外面实习一点也没练,做点水题,找找感觉,得慢慢练点儿起来啊。大数相加以前做C写,感觉对新人来说 用来练数组 还是挺好的。现在用Java写一点意思也没有了。 以前的C代码 #include #include int main() { char number1[1011],number2[1011]; int i,j,k,n,t,len1,len2,

蔡斌松的专栏 797

杭电1002 大数相加

Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.   Input The first line of the input contains an integer T(1<=T<

Scarlett_geng的博客 733

杭电OJ 1002 大数相加

#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { int n; cin &gt;&gt; n; for (int i = 0; i &lt; n; i++) { string a, b; cin &gt;&gt; a &gt;&gt; b; cout &lt;&...

xqch的博客 613

个人C++模板之大数系列(加法)

大数模板,加杭电1002的代码····· 因为种种原因,第二次做的时候WA了几次,CE了几次,真蛋痛。 #include #include #include #include using namespace std; //杭电 1002 //http://acm.hdu.edu.cn/showproblem.php?pid=1002 //下面是大数相加的模板。 void Bignumber(s

Allen_L_L的专栏 538
上一篇: 树的专项练习(补充)
下一篇: 生成神经对抗网络(GAN)的基本认识及应用
吴雨4
博客等级 码龄6年 7137粉丝 42原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值