输出1000以内所有各位数字之和为n的正整数,例如:如果输入的n是6,那么,105的各位数字之和1+0+5=6, 123的各位数字之和1+2+3=6,两者都满足要求。每行输出6列,每个整数占8位宽度右对齐。
输入格式:
从键盘输入整数n的值。
输出格式:
每行输出6列,每个整数占8位宽度右对齐。如果最后一行不足6列,也需要换行。
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
6 15 24 33 42 51
60 105 114 123 132 141
150 204 213 222 231 240
303 312 321 330 402 411
420 501 510 600
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C程序如下:
#include <stdio.h>
int main(void)
{
int n, sum;
scanf("%d", &n);
int i, count = 0, j;
for(j = n;j <= 1000;j++)
{
i = j;
sum = 0;
while(i > 0)
{
int a = i;
a %= 10;
sum += a;
i /= 10;
}
if(sum == n)
{
printf("%8d", j);
count ++;
if(count % 6 == 0)
{
printf("\n");
}
}
}
return 0;
}