zoukankan      html  css  js  c++  java
  • 回文数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;
    }

     
  • 相关阅读:
    mongodb
    python中读取文件的read、readline、readlines方法区别
    uva 129 Krypton Factor
    hdu 4734
    hdu 5182 PM2.5
    hdu 5179 beautiful number
    hdu 5178 pairs
    hdu 5176 The Experience of Love
    hdu 5175 Misaki's Kiss again
    hdu 5174 Ferries Wheel
  • 原文地址:https://www.cnblogs.com/--lr/p/6127577.html
Copyright © 2011-2022 走看看