问题描述
观察数字: 12321,123321 都有一个共同的特征, 无论从左到右读还是从右向左读, 都是相同的这样的数字叫做: 回文数字
本题要求你找到一些 5 位或 6 位的十进制数字满足如下要求:
该数字的各个数位之和等于输入的整数
输入格式
一个正整数 n (10<n<100), 表示要求满足的数位和
输出格式
若干行, 每行包含一个满足要求的 5 位或 6 位整数
数字按从小到大的顺序排列
如果没有满足条件的, 输出:-1
样例输入:
48
样例输出:
- 699996
- 789987
- 798897
- 879978
- 888888
- 897798
- 969969
- 978879
- 987789
- 996699
C 语言实现代码:
- #include<stdio.h>
- int main(){
- int n;
- int x,y,z,w,k,q;
- int count=0;
- scanf("%d",&n);
- for(int i=10000;i<=999999;i++){
- x=i/100000;
- y=(i%100000)/10000;
- z=((i%100000)%10000)/1000;
- w=(((i%100000)%10000)%1000)/100;
- k=((((i%100000)%10000)%1000)%100)/10;
- q=((((i%100000)%10000)%1000)%100)%10;
- if(x==0&&y==q&&z==k&&x+y+z+w+k+q==n||x!=0&&x==q&&y==k&&z==w&&x+y+z+w+k+q==n){
- printf("%d\n",i);
- count++;
- }
- }
- if(count==0){
- printf("-1");
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2516781.html