题目描述
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10< n< 100), 表示要求满足的数位和。
输出格式
若干行,每行包含一个满足要求的5位或6位整数。 数字按从小到大的顺序排列。 如果没有满足条件的,输出:-1
输入样例复制
44
输出样例复制
99899
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499
#include<stdio.h>
#include<string.h>
#include<ctype.h>
long huiwen(long n)
{
char str[20];
sprintf(str, "%ld", n);
int len = strlen(str);
for (long i = 0; i < len / 2; i++)
{
if (str[i]!= str[len - 1 - i])
{
return 0;
}
}
return 1;
}
int main()
{
long n,sum,d;
scanf("%ld",&n);
int found=0;
for(long i=10000;i<=999999;i++)
{ d=i;
sum=0;
while(d>0)
{
sum=sum+d%10;
d=d/10;
}
if(huiwen(i)&&n==sum)
{
printf("%ld\n",i);
found=1;
}
}
if(!found)
{
printf("-1\n");
}
return 0;
}
标签:1.17,ld,数字,sum,long,蓝桥,str,include,回文 From: https://blog.csdn.net/2401_88154394/article/details/144133309