藍橋杯練手之迴文數字
阿新 • • 發佈:2019-01-26
觀察數字: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; }