• 回文数C语言


    题目描述

    若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12521就是一个回文数。
    给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。给定的数本身不为回文数。
    例如:87则有:
    STEP1: 87+78=165
    STEP2: 165+561=726
    STEP3: 726+627=1353
    STEP4: 1353+3531=4884
    编写一个程序,输入M(12<=M<=100),输出最少经过几步可以得到回文数。如果在8步以内(含8步)不可能得到回文数,则输出0。

    输入

    第1行一个正整数L,代表测试数据的组数。
    接下来L行每行一个整数M(12<=M<=100),M本身不为回文数;

    输出

    输出L行,第i行对应输入数据的第i+1行,输出最少需要的步数;如果步数大于8,则输出0。

    样例输入

    3
    12
    87
    89
    
    

    样例输出

    1
    4
    0
    代码

    #include<stdio.h>
    #include<string.h>
    int reverse(int x)
    {
    int num=0;
    while(x)
    {
    num=x%10+num*10;
    x/=10;
    }
    return num;
    }
    int judge(int x)
    {
    if(x-reverse(x)==0)
    return 1;
    else
    return 0;
    }
    int main()
    {
    int l,m,cnt=0;
    scanf("%d",&l);
    while(l--)
    {
    cnt=0;
    scanf("%d",&m);
    while(cnt<=8)
    {
    if(!judge(m))
    {
    m=m+reverse(m);
    cnt++;
    }
    else
    {
    printf("%d ",cnt);
    break;
    }

    }
    if(cnt>8)
    {
    printf("0 ");
    }
    }
    return 0;
    }

     
  • 相关阅读:
    LINUX按键驱动程序
    s3c2440地址分配
    Linux内核代码
    C语言初始化
    tftp协议
    ARM工作模式
    Bootstrap3隐藏滑动侧边栏菜单代码特效
    javascript 中slice,substr,substring方法的对比
    vue 的简述
    鼠标移动出自己想要的效果
  • 原文地址:https://www.cnblogs.com/--lr/p/6127577.html
Copyright © 2020-2023  润新知