【小韦同学@神犇营-my1035-大数加法】
题目:
描述
计算一个正整数加上 2018 的结果。
但是这个正整数无比的巨大,请你写个程序帮忙解决一下。
输入
输入一个正整数 n(1 ≤ n ≤ 10 ^ 1000)。
输出
输出 n + 2018 的结果。
输入样例1
10000000000000
输出样例1
10000000002018
题解:
/*********************************************************************
* 题目:神犇营-my1035-大数加法
* 作者:小韦同学
* 邮箱:weichangying_wcy@163.com
* 题解:
思路:就是一个高精度加单精度的运算,单精度是固定的数字2018而已。
*********************************************************************/
#include <bits/stdc++.h>
using namespace std;
const int N = 1000 + 10;
int a[N];
int main() {
//freopen("4.in", "r", stdin);
//freopen("4.out", "w", stdout);
memset(a, 0, sizeof(a));
string num;
cin >> num;
int len = num.length();
for (int i = 1; i <= len; i++) {
a[i] = num[len - i] - '0';
}
a[1] += 2018;
for (int i = 1; i <= len; i++) {
a[i + 1] += a[i] / 10;
a[i] %= 10;
}
while (a[len + 1]) {
len++;
a[len + 1] += a[len] / 10;
a[len] %= 10;
}
for (int i = len; i >= 1; i--) {
cout << a[i];
}
return 0;
}
我是小韦同学,企者不立,跨者不行,每天进步一点点。
欢迎大家多多交流,如果发现有错误,请多指正。有疑问的同学也可以留言评论或者发邮件。
邮箱:weichangying_wcy@163.com