zoukankan      html  css  js  c++  java
  • 求回文数

    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 }
     
     
  • 相关阅读:
    獲取XML文檔節點的值
    Asp.net之数组应用
    读写XML文档
    C#区分中英文统计字符串的长度
    vs2005常用快捷键
    基础知识
    中国的十二生肖原来还代表着对人品格的要求
    学习OO思想
    改变系统时间c#
    用C#创建各种类型的wave文件
  • 原文地址:https://www.cnblogs.com/ranzhong/p/13734913.html
Copyright © 2011-2022 走看看