大数相加(1+2+...+N)
来源:互联网 发布:软件系统解决方案ppt 编辑:程序博客网 时间:2024/06/08 15:00
问题描述:
输入一个正整数,输出从1加到该数的精确结果。
解题思路:
用数组分别记录每次相加的结果中的每位数字
算法缺点:
当输入的正整数比较大时,计算时间会较长
<span style="font-family:KaiTi_GB2312;font-size:18px;">#include<stdio.h>#define N 100int 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>
测试结果:
0 0
- 大数相加(1+2+...+N)
- 二进制大数相加(可扩展至n进制大数相加)
- 大数相加 + 方法2
- 大数相加方法------2
- 大数相加 + 方法1
- 大数相加方法------1
- 大数相加(JAVA)
- 大数相加(二进制)
- hdu1002(大数相加)
- 大数相加(HDU1002)
- 大数相加(高精度)
- 大数相加(正整数)
- POJ 1503 大数相加(持续相加)
- 大数相加(C语言)
- 大数(相加,高精度)模板
- 大数相加(字符串解法)
- HDU 1047(大数相加)
- 大菲波数(大数多次相加)
- 过滤选择器
- 关于JAVA的接口与抽象
- MapReduce详解
- 学习SQLite
- jstl中<c:forEach>的用法
- 大数相加(1+2+...+N)
- c++ 基础语法一(空类型的sizeof)
- String的split方法与正则表达式
- 关于我的博客的说明
- 辛星笔记之高质量JavaScript代码书写要点
- mybatis实战教程(mybatis in action),mybatis入门到精通
- ICC Profile
- 幼教互动云平台
- POJ 3104 Drying (二分+精度)