观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
【输入格式】
一个正整数 n(10<n<100), 表示要求满足的数位和。
【输出格式】
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
#include<stdio.h>
int main()
{
int flag,k,i,m,j;
flag=1;
printf("输入一个两位数\n");
scanf("%d",&k);
if(10<k&&k<99&&flag==1)
{
for(i=10000;i<=99999;i++)
{//判断五位数
int a[5],s2;
m=i;s2=0;
for(j=0;j<5;j++)
{
a[j]=m%10;
m=m/10;
}
for(j=0;j<5;j++)
{
s2=s2+a[j];
}
if(k==s2)
{
int w=0;
for(j=0;j<2;j++)
{
if(a[j]==a[4-j])
{
w++;
}
}
if(w==2)
{
printf("%d\n",i);
}
}
}
for(i=100000;i<=999999;i++)
{//判断六位数
int a[6],s;
m=i;s=0;
for(j=0;j<=5;j++)
{
a[j]=m%10;
m=m/10;
}
for(j=0;j<=5;j++)
{
s=s+a[j];
}
if(k==s)
{
int w=0;
for(j=0;j<3;j++)
{
if(a[j]==a[5-j])
{
w++;
}
}
if(w==3)
{
printf("%d\n",i);
flag=0;
}
}
}
}
else
printf("输入的不合法");
return 0;
}