求回文数

1.问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
血马简单 但是还是要敲
 1 #include"stdio.h"
 2 int main(void)
 3 {
 4     int i,a,b,c,d;
 5     for(i=1000;i<10000;i++)
 6     {
 7         a=i/1000; //abcd依次第一二三四位 
 8         b=(i%1000)/100;
 9         c=(i%100)/10;
10         d=i%10;
11         if(a==d&&b==c)
12         printf("%d%d%d%d\n",a,b,c,d);
13     }
14     return 0;
15 }

2.

求特殊回文数

 

123321
是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n,
编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
 
52
 
 
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54
 
首先 最最最sb的办法:我连排版都懒得排
#include"stdio.h"
int main(void)
{
int n;
int a[6];
printf("Enter n:");
scanf("%d",&n);
if(n>=1&&n<=54)
{
for(a[0]=0;a[0]<=9;a[0]++)
{
for(a[1]=0;a[1]<=9;a[1]++)
{
for(a[2]=0;a[2]<=9;a[2]++)
{
for(a[3]=0;a[3]<=9;a[3]++)
{
for(a[4]=0;a[4]<=9;a[4]++)
{
if(a[0]==a[4]&&a[1]==a[3]&&a[0]+a[1]+a[2]+a[3]+a[4]==n)
printf("%d%d%d%d%d\n",a[0],a[1],a[2],a[3],a[4]);
} } } } }
for(a[0]=0;a[0]<=9;a[0]++)
{
for(a[1]=0;a[1]<=9;a[1]++)
{
for(a[2]=0;a[2]<=9;a[2]++)
{
for(a[3]=0;a[3]<=9;a[3]++)
{
for(a[4]=0;a[4]<=9;a[4]++)
{
for(a[5]=0;a[5]<=9;a[5]++)
    {
if(a[0]==a[5]&&a[1]==a[4]&&a[2]==a[3]&&a[0]+a[1]+a[2]+a[3]+a[4]+a[5]==n)
printf("%d%d%d%d%d%d\n",a[0],a[1],a[2],a[3],a[4],a[5]);
} } } } } } }
return 0;
}

一般人的脑子:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int i, n;
 5     scanf("%d", &n);
 6     for (i = 10000; i < 100000; i++)
 7     {
 8         int a = i / 10000;
 9         int b = (i % 10000) / 1000;
10         int c = (i % 1000) / 100;
11         int d = (i % 100) / 10;
12         int e = i % 10;
13         if (a == e && b == d && a+b+c+d+e == n)
14             printf("%d\n", i);
15     }
16     for (i = 100000; i < 1000000; i++)
17     {
18         int a = i / 100000;
19         int b = (i % 100000) / 10000;
20         int c = (i % 10000) / 1000;
21         int d = (i % 1000) / 100;
22         int e = (i % 100) / 10;
23         int f = i % 10;
24         if (a == f && b == e && c == d && a+b+c+d+e+f == n)
25             printf("%d\n", i);
26     }
27     return 0;
28 }

 

 
 
posted @ 2020-09-26 14:26  然终酒肆  阅读(178)  评论(0编辑  收藏  举报