NYOJ---272题Adding Reversed Numbers

本文分享了一个关于大数加法的经典水题解决过程,通过实例代码讲解了大数加法的基本实现方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

水题一道·····纯粹拿来练手的。昨天经过接近28个小时的颠簸终于人模狗样的到家了。晚上美美的睡了一觉。早上习惯性的又醒了(6点多啊,多悲剧····)今天就忙着扯网线,弄无线路由。下午开始过以前那种吃饭靠喊,睡觉没人管的日子了。下午开始调整状态,刷出来了一道水题。很是坑人的一道题。竟然用到大数加法,最后还有陷阱·····具体的看注释吧,我就不写思路了。

原题地址:点击打开链接

代码如下:

#include <stdio.h> #include <string.h> int main() { int i,j,len1,len2,up,len,k,l,n,m,c[1000],d[1000]; char a[1000],b[1000]; scanf("%d",&n); while(n--) { memset(d,0,sizeof(d)); memset(c,0,sizeof(c)); scanf("%s %s",a,b); len1=strlen(a); len2=strlen(b); len=len1>len2?len1:len2;//找到最高位数 for(i=0;i<len1;i++) c[i]=a[i]-'0'; for(j=0;j<len2;j++) d[j]=b[j]-'0'; for(i=0,up=0;i<=len;i++)//此乃大数加法的模版,甚是鄙视某人,坑人··· { c[i]=c[i]+d[i]+up; up=c[i]/10; c[i]%=10; } for(i=0;i<=len;i++)//判断是否前缀0 if(c[i])break; for(j=i;j<len;j++) printf("%d",c[j]); if(c[len]==1)printf("1");//又是陷阱,至于为什么,自己悟吧,如果直接告诉你,我心里多不平衡啊。嘿嘿 printf("\n"); }return 0; }

其实这个题不值得写博文,只是想借这个机会发发牢骚,让你们知道我的近况。今天算是进入状态吧。嘿嘿,明天开始去各大OJ刷水题,哈哈····别鄙视我,都是你们逼我的···上个星期我应该是刷题最少的人···所以勤奋点,去刷水题,哈哈,嘻唰唰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值