蓝桥杯官网基础练习题——特殊回文数
题目要求如下:
#include
int main(){
int n;
scanf("%d",&n);
int i,j,k=0;
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
if(i*2+j*2+k==n){
printf("%d%d%d%d%d\n",i,j,k,j,i);
}
}
}
}
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
if(i*2+j*2+k*2==n){
printf("%d%d%d%d%d%d\n",i,j,k,k,j,i);
}
}
}
}
}
我自己编译器运行出来是对的,但在官网上传答案时总是报错,
这么写,供参考:
#include <stdio.h>
int is(int x, int n)
{
int t = x, sum = 0, rn = 0;
while (x)
{
sum += x % 10;
rn = rn * 10 + x % 10;
x /= 10;
}
return sum == n && rn == t;
}
int main(void)
{
int n = 0, i;
do{
scanf("%d", &n);
} while (n < 1 || n > 54);
for (i = 10000; i <= 999999; i++)
{
if (is(i, n))
printf("%d\n", i);
}
return 0;
}