码迷,mamicode.com
首页 > 其他好文 > 详细

特殊回文数

时间:2018-07-22 15:21:45      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:turn   描述   code   include   输入   \n   print   条件   str   

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定
  1<=n<=54。


實現代碼:

#include <stdio.h>

int main()
{
    int num;  //输入的数字
    int snum;  //回文数
    int a, b, c, d, e, f;

    scanf("%d", &num);
    if (num >= 1 && num <= 54)
    {
        snum = 10001;  //5位回文数
        do {
            a = snum / 10000;         //万位
            b = snum % 10000 / 1000;  //千位
            c = snum % 1000 / 100;    //百位
            d = snum % 100 / 10;      //十位
            e = snum % 10;            //个位

            if (a + b + c + d + e == num && a == e && b == d)
            {
                printf("%d\n", snum);  //输出数字
            }
            ++snum;
        } while (snum <= 99999);

        snum = 100001;  //6位回文数
        do {
            a = snum / 100000;          //十万位
            b = snum % 100000 / 10000;  //万位
            c = snum % 10000 / 1000;    //千位
            d = snum % 1000 / 100;      //百位
            e = snum % 100 / 10;        //十位
            f = snum % 10;              //个位

            if (a + b + c + d + e + f == num && a == f && b == e && c == d)
            {
                printf("%d\n", snum);
            }
            ++snum;
        } while (snum <= 999999);
    }

    return 0;
}

特殊回文数

标签:turn   描述   code   include   输入   \n   print   条件   str   

原文地址:https://www.cnblogs.com/coolcpp/p/palindromic-number.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!