问题描述
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10<n<100), 表示要求满足的数位和。
输出格式
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-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 ",i); count++; } } if(count==0){ printf("-1"); } return 0; }