I - I-number
Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
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.
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.
Input
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.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 10 5.
Output
Output the I-number of x for each query.
Sample Input
1 202
Sample Output
208代码:#include<iostream> #include<cstring> #include <cstdio> using namespace std; int x[100010]; int main() { int T,i,j,k,t,len,len1; string s; cin>>T; while(T--) { cin>>s; len=s.size(); memset(x,0,sizeof(x)); for(i=len-1,j=0; i>=0; i--,j++) x[j]=s[i]-'0'; for(i=0; i<25; i++) { x[0]=x[0]+1; for(j=0; j<100005; j++)//暴力 { x[j+1]+=x[j]/10; x[j]%=10; } len1=100005; while(!x[len1]) len1--; t=0; for(k=0; k<=len1; k++) t+=x[k]; if(t%10==0) break; } for(i=len1; i>=0; i--) cout<<x[i]; cout<<endl; } return 0; }