计蒜客 加一(大数加1)

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

例如:

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

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

A = [7,8,9],

return [7,9,0].

格式:

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

最后输出新的数组。

样例输入

5
8 9 9 9 9

样例输出

9 0 0 0 0
 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 int main(){
 5     int n, flag = 1, temp, k;
 6     cin >> n;
 7     vector<int> v(n) , a(n+1, 0);
 8     for(int i = 0; i < n; i++)
 9         cin >> v[i];
10     int j = 0;
11     for(int i = n-1; i >= 0; i--){
12         temp = flag + v[i] ;
13         if(temp >= 10){
14             flag = 1;
15             temp -= 10;
16         } else{
17             flag = 0;
18         }  
19         a[j++] = temp;
20     }
21     a[j] = flag;
22     for(int j = n; j >= 0; j--){
23         if(a[j] != 0){
24              k = j;
25             break;
26         }
27     }
28     for(int l = k; l >= 0; l--)
29         cout << a[l] << " ";
30     return 0;
31 }

 

posted @ 2016-06-22 21:36  琴影  阅读(370)  评论(0编辑  收藏  举报