Dev c++ 高精度加法(500位以内)
来源:互联网 发布:js清空input的value值 编辑:程序博客网 时间:2024/06/12 00:18
思路很简单,把a,b两个数当作字符串来处理,然后对应每一位相加(使用ASCII码运算),在处理一下进位以及最终数值和的总位数的细节 ok
#include <bits/stdc++.h>
#define LEN 505using namespace std;
int max(int a, int b) {
return a>b?a:b;
}
int main() {
string s1, s2, s3;
cin>>s1>>s2;
int a[LEN] = {0}, b[LEN] = {0}, c[LEN] = {0};
for(int i = 0; i<s1.size(); i++) a[s1.size()-i] = s1[i]-'0';
for(int i = 0; i<s2.size(); i++) b[s2.size()-i] = s2[i]-'0';
int len = max(s1.size(), s2.size());
for(int i = 1; i<len+1; i++) {
if((a[i]+b[i]+c[i])>=10) c[i+1]++;
c[i] = (a[i]+b[i]+c[i])%10;
}
if(!c[len]) s3.resize(len+1);
else s3.resize(len);
for(int i = s3.size(); i>=1; i--) s3[s3.size()-i] = c[i]+'0';
cout<<s3<<endl;
return 0;
}
阅读全文
0 0
- Dev c++ 高精度加法(500位以内)
- 高精度加法(c++)
- (C语言)高精度加法
- 高精度的加法(c++)
- 【C++】高精度加法
- C语言 高精度加法
- c高精度加法模板
- C语言高精度加法
- C-高精度加法
- C语言(7)--高精度加法、减法、乘法、今天是星期几、四位平方数、候选人选票问题
- 随机100以内的加法联系程序代码实现(c#)
- C++: 高精度加法与高精度减法
- 大数(高精度)加法
- 二进制(高精度加法)
- 高精度(加法)
- HDU-高精度小数加法-最大400位
- 第三章,课外作业(C++,数字高精度之加法)
- 小白C语言写高精度算法(加法)
- 不要欺负我不懂java的volatile
- java HashSet / TreeSet 学习
- SVM分类器实践,检测是否有篮球
- 爬取百度词条内链接
- CF903 D.Almost Difference
- Dev c++ 高精度加法(500位以内)
- Ubuntu设置局域网Windows共享文件Samba
- HEVC一阶指数哥伦布编码
- SSM注解配置 往Spring Boot 过渡
- Leetcode 647.Palindromic Substrings(算法分析week15)
- LeetCode 102. Binary Tree Level Order Traversal
- 用筛法求之N内的素数
- 第十三周项目1
- Unity 四元数和向量相乘