计蒜客 难题题库 019 加一

动态数组存放了一些个位数字(正数),组成一个大数。将这个数加1。

例如:

A = [2,3,1,1,4],

return [2,3,1,1,5]

A = [7,8,9],

return [7,9,0].

格式:

第一行输入一个正整数n,接下来的一行,输入数组A[n](每一位都是正数且为个位数)。

最后输出新的数组。

样例1

输入:

5
8 9 9 9 9

输出:

9 0 0 0 0


#include<iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    int *a = new int[n + 1]();
    int i;
    for(i = 1; i <= n; ++i){
        cin >> a[i];
    }
    i = n;
    a[i] += 1;
    while(a[i] > 9){
        a[i] = 0;
        ++a[--i];
    }
    for(i = a[0] ? 0 : 1; i <= n; ++i){
        cout << a[i] << " ";
    }
}


你可能感兴趣的:(OJ,计蒜客)