題目連結 SDUT 2633 I-number
說好的一天一題..可是今天太累了( (╯‵□′)╯ ┴─┴ 不要找借口! )
于是就水了兩題╮(╯▽╰)╭...聊以自慰
這題主要是用字元串讀入數字, 高精度神馬的我現在還不會...等我過幾天學了JAVA後用它試試..
不過據說會逾時(╯‵□′)╯ ┴─┴
#include <stdio.h>
#include <string.h>
void Add(char num[])
{
int len = strlen(num);
if (num[len - 1] - '0' + 1 < 10)
{
num[len - 1] = ++num[len - 1];
}
else
{
int k = len - 1;
while (num[k] - '0' + 1 > 9)
{
num[k] = '0';
if (k == 0)
{
for (int i = len - 1; i >= 0; i--)
num[i + 1] = num[i];
break;
}
k--;
}
num[k]++;
}
}
int main()
{
//freopen("input.txt", "r", stdin);
int i, j;
int T;
scanf("%d", &T);
getchar();
char num[100005];
while (T--)
{
memset(num, 0, sizeof(num));
gets(num);
Add(num);
while (1)
{
int sum = 0;
for (i = 0; i < strlen(num); i++) //求和每位數字.
sum += num[i] - '0';
if (!(sum % 10))
{
printf("%s\n", num);
break;
}
else
{
Add(num);
}
}
}
return 0;
}