1074 宇宙无敌加法器(测试点5)

在这里插入图片描述
在这里插入图片描述

solution

  • 每位权值不同的高精度加法
  • 测试点5:结果为0的情况
#include<iostream>
#include<string>
using namespace std;
int main(){
	string rule, a, b, ans = "";
	int carry = 0, temp, cnt, power;
	cin >> rule >> a >> b;
	for(int i = a.size() - 1, j = b.size() - 1, cnt = rule.size() - 1; i >= 0 || j >= 0; i--, j--, cnt--){
		if(i < 0) temp = b[j] - '0' + carry;
		else if(j < 0) temp = a[i] - '0' + carry;
		else temp = (a[i] - '0') + (b[j] - '0') + carry;
		if(rule[cnt] == '0') power = 10;
		else power = rule[cnt] - '0';
		ans = to_string(temp % power) + ans;
		carry = temp / power;
	}
	if(carry) ans = to_string(carry) + ans;
	while(ans[0] == '0') ans.erase(0, 1); 
	if(ans.size() == 0) cout << 0;
	else cout << ans;
	return 0;
} 

or

#include<iostream>
#include<string>
using namespace std;
int main(){
	string rule, a, b, ans = "";
	int carry = 0, temp, cnt, power;
	cin >> rule >> a >> b;
	while(a.size() < b.size()) a = "0" + a;
	while(b.size() < a.size()) b = "0" + b;
	for(int i = a.size() - 1; i >= 0; i--){
		temp = (a[i] - '0') + (b[i] - '0') + carry;
		if(rule[i] == '0') power = 10;
		else power = rule[i] - '0';
		ans = to_string(temp % power) + ans;
		carry = temp / power;
	}
	if(carry) ans = to_string(carry) + ans;
	while(ans[0] == '0') ans.erase(0, 1); 
	if(ans.size() == 0) cout << 0;
	else cout << ans;
	return 0;
} 

相关推荐

  1. IEC60870-5-104规约

    2024-06-08 12:44:05       49 阅读
  2. 单元测试之JUnit5知识总结及代码示例

    2024-06-08 12:44:05       23 阅读
  3. 酒茶元宇宙:探索未来生活的无限可能

    2024-06-08 12:44:05       61 阅读
  4. 测试面试

    2024-06-08 12:44:05       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 12:44:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 12:44:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 12:44:05       82 阅读
  4. Python语言-面向对象

    2024-06-08 12:44:05       91 阅读

热门阅读

  1. 深度解读ChatGPT基本原理

    2024-06-08 12:44:05       26 阅读
  2. 骑砍2霸主MOD开发(11)-瓦兰迪亚火骑兵

    2024-06-08 12:44:05       30 阅读
  3. C#面:Server.UrlEncode、HttpUtility.UrlDecode的区别

    2024-06-08 12:44:05       24 阅读
  4. MySQL-锁

    MySQL-锁

    2024-06-08 12:44:05      24 阅读
  5. Dijkstra算法(迪杰斯特拉算法)

    2024-06-08 12:44:05       32 阅读
  6. 如何使用Python中的random模块生成随机数

    2024-06-08 12:44:05       28 阅读
  7. 【Docker学习】docker push简述

    2024-06-08 12:44:05       32 阅读