2013 Multi-University Training Contest 1――I-number

题目描述

The I-number of x is defined to be an integer y, which satisfied the the conditions below:
1.   y>x;
2.   the sum of each digit of y(under base 10) is the multiple of 10;
3.   among all integers that satisfy the two conditions above, y shouble be the minimum.
Given x, you\'re required to calculate the I-number of x.

输入

  An integer T(T≤100) will exist in the first line of input, indicating the number of test cases.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 10 5 .

输出

  Output the I-number of x for each query.

示例输入

1 202

示例输出

208

分析:

高精度

#include<iostream> #include<string.h> using namespace std; char a[100005]; int b[100005]; int l; void add() {     b[0]++;     int i=0;     while(b[i]>=10)     {         b[i]=b[i]%10;         i++;         if(i==l)         {             b[i]=1;             l++;         }         else             b[i]++;     } } int getH() {     int he=0;     for(int i=0;i<l;i++)     {         he+=b[i];         if(he>=10)             he=he%10;     }     return he; } int main() {     int t,n;     cin>>t;     while(t--)     {        cin>>a;         l=strlen(a);         for(int i=0;i<l;i++)         {             b[i]=a[l-i-1]-'0';         }         add();         int ci=20;         while(ci--)         {             if(getH()==0)                 break;             else                 add();         }         for(int i=l-1;i>=0;i--)             cout<<b[i];         cout<<endl;     }     return 0; } 


 

你可能感兴趣的:(java,开发技术)