题目描述
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.
输入
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 105.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 105.
输出
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; }
转载于:https://blog.51cto.com/bingsanchun/1271301