输出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
//自己写的
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m=0,y=0,z=0,tem;
scanf("%d",&n);
tem=n;
while(m<=tem*100)
{
int i=0;
while(i<6 && m<=tem*100)
{
i++;
m=100*y+10*z+n;
if(m<=tem*100)
{
printf("%8d",m);
}
if(n>0)
{
n=n-1;
z=tem-y-n;
}
else
{
y=y+1;
z=0;
n=tem-y;
}
}
if(m<=tem*100)
{
printf("\n");;
}
}
return 0;
}