每日一题回文数字

什么是回文数字

观察数字:12321,123321  都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

怎么求回文数

题目链接:蓝桥杯历届试题-回文数字 - C语言网 (dotcpp.com)

每日一题回文数字_第1张图片

#include
int main()
{
    int n = 0, flg = 1;
    scanf("%d", &n);
    for (int i = 10000; i <= 999999; i++)//直接遍历所有的数
    {
        int t = i, sum = 0, nge = 0;
        while (t > 0)
        {
            nge = nge * 10 + t % 10;//逆序这个数
            sum += t % 10;//求各位数的和
            t /= 10;
        }
        if ((n == sum) && (nge == i))//逆序的数和原来的数相同则说明此数是回文数,n==sum说明回文数各位之和等于输入值
        {
            printf("%d\n", i);
            flg = 0;//如果找到了符合要求的数就将flg改为0;
        }
    }
    if (flg == 1)
        printf("-1");//如果没有找到就输出-1
    return 0;
}

代码为题目代码

求回文数只需判断逆序的数和原来的数是否相同就行。

你可能感兴趣的:(算法)