大数相加(1+2+...+N)
2015-06-04 10:06
197 查看
问题描述:
输入一个正整数,输出从1加到该数的精确结果。
解题思路:
用数组分别记录每次相加的结果中的每位数字
算法缺点:
当输入的正整数比较大时,计算时间会较长
测试结果:
输入一个正整数,输出从1加到该数的精确结果。
解题思路:
用数组分别记录每次相加的结果中的每位数字
算法缺点:
当输入的正整数比较大时,计算时间会较长
<span style="font-family:KaiTi_GB2312;font-size:18px;">#include<stdio.h> #define N 100 int main() { int n,i,j,temp,c; int a[100]={0}; scanf("%d",&n); for(i=1;i<=n;i++) { c=0; temp=i; for(j=0;temp>0;j++) { a[j]+=temp%10+c; c=a[j]/10; a[j]=a[j]%10; temp/=10; } if(c>0) { a[j]+=c; if(a[j]>9) { a[j+1]+=a[j]/10; a[j]=a[j]%10; } } } for(i=N-1;i>=0;i--) if(a[i]!=0) break; for(;i>=0;i--) printf("%d",a[i]); putchar('\n'); return 0; }</span>
测试结果:
相关文章推荐
- [Selenium] waitUntilAllAjaxRequestCompletes
- W25Q32的使用
- 关于JAVA的接口与抽象
- 测量程序运行时间的几个函数
- 全球域名商(国际域名)解析量排行榜TOP20(6月1日)
- absolute绝对定位的非绝对定位用法
- 转 Mysql分库分表方案
- Eclipse中自动提示的参数变成arg0,arg1的解决办法
- MapReduce详解
- C++中的virtual
- 轻松学习之 Objective-C消息转发
- php+as3简单聊天室(总结一下前面仙剑demo都写了些什么)
- 3d翻转动画记录
- HDU1086 You can Solve a Geometry Problem too(数学几何)
- CSS相对定位|绝对定位(五)之z-index篇
- Python守护进程用法实例分析
- hibernate之关于使用连接表实现多对一关联映射
- iOS中为网站添加图标到主屏幕以及增加启动画面
- 2、vsphere6-AD安装及配置
- ios 怎样让textview里的文字从最顶开始显示?