大整数相加
来源:互联网 发布:圣火名尊法器进阶数据 编辑:程序博客网 时间:2024/06/03 15:05
Description
给你两个整数n,m,求从n到m之间所有数字之和,保证0<=n<=m
Input
只有一行包含两个整数n,m
Output
输出n到m之间所有数字之和
Sample Input
1 2
0 100000
Sample Output
3
5000050000
思路:对于大整数类的运算,只能当其为字符串处理,模拟运算过程。
Code:
#include <iostream>#include <cstdio>using namespace std;string add(string a,string b){ long long int t,p=0,i=0,j=0; string c=""; for(;i<a.length()||j<b.length();){ if(i<a.length()&&j<b.length()) t=(a[i++]-'0')+(b[j++]-'0')+p;//int else if(i<a.length()) t=a[i++]-'0'+p; else t=b[j++]-'0'+p; p=0; if(t>9){ t-=10;p=1; } c+=t+'0';//int to char } if(p) c+=1+'0';// return c;}string intTOstr(long long int i){ string t=""; while(i){ t+=i%10+'0'; i/=10; } return t;}int main(){ long long int n,m; while(scanf("%lld%lld",&n,&m)!=EOF){ string t=intTOstr(n),p; for(long long int i=n+1;i<=m;i++){ p=intTOstr(i); t=add(t,p); } for(int i=t.length()-1;i>=0;i--) cout<<t[i]; cout<<endl; } return 0;}
阅读全文
0 0
- 大整数相加算法
- 大整数相加
- 大整数相加问题
- 大整数相加
- 大整数相加
- 大整数相加
- 大整数相加
- 大整数相加
- 两个大整数相加
- 大整数相加
- 大整数相加
- 大整数相加
- js 大整数相加
- 大整数相加,相乘
- 大整数相加
- 大整数相加
- C 大整数相加
- 大整数相加2
- [BFS] POJ 3087
- 字符编码中的一些概念辨析
- 判断scroll是否滚动到底部以及实现回到顶部
- 蓝桥杯 算法提高 实数相加
- Vim命令合集(转)
- 大整数相加
- It's no longer allowed to omit the '-loader' suffix when using loaders.
- Kylin 2.0升级总结
- Linux学习笔记DayNote01
- 超完整的Chrome浏览器客户端调试大全
- 微信小程序页面间传值方法
- ERROR: ORA-28000: the account is locked Oracle数据库被锁
- 跳转页面二选一(方法)
- python网络爬虫(三)