• 求回文数


    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
    ",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
    ",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
    ",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
    ", 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
    ", i);
    26     }
    27     return 0;
    28 }
     
     
  • 相关阅读:
    两类斯特林数的整理
    SXOI2019游记
    3.13校内测试
    Python Flask 实现移动端应用接口(API)
    CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署
    iOS组件化开发入门 —— 提交自己的私有库
    Runtime ----- 带你上道
    iOS核心动画以及UIView动画的介绍
    GCD中各种队列和任务执行方式的组合
    iOS消息转发机制和使用
  • 原文地址:https://www.cnblogs.com/ranzhong/p/13734913.html
Copyright © 2020-2023  润新知