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

    题目描述

    我们把从左往右和从右往左念起来相同的数字叫做回文数。例如,75457就是一个回文数。
    当然某个数用某个进制表示不是回文数,但是用别的进制表示可能就是回文数。
    例如,17是用十进制表示的数,显然它不是一个回文数,但是将17用二进制表示出来是10001,显然在二进制下它是一个回文数。
    现在给你一个用十进制表示的数,请你判断它在2~16进制下是否是回文数。

    输入

    输入包含多组测试数据。每组输入一个用十进制表示的正整数n(0<n<50000),当n=0时,输入结束。

    输出

    对于每组输入,如果n在2~16进制中的某些进制表示下是回文数,则输出“Number i is palindrom in basis ”,在后面接着输出那些进制。其中i用n的值代替,后面输出的进制中,每两个数字之间空一个。
    如果n在2~16进制的表示下都不为回文数,则输出“Number i is not a palindrom”,其中i用n的值代替。

    样例输入

    17
    19
    0

    样例输出

    Number 17 is palindrom in basis 2 4 16
    Number 19 is not a palindrom
     1 #include <stdio.h>
     2  
     3  
     4 int judge(int n,int i)
     5 {
     6     int a[50];
     7     int g,num=0;
     8     while(n)
     9     {
    10         a[num++]=n%i;
    11         n/=i;
    12     }
    13     int t=1;
    14     for(g=0;g<num/2;g++)
    15     {
    16         if(a[g]!=a[num-1-g]) 
    17         {
    18             t=0;
    19             break;
    20         }
    21     }
    22     return t;
    23 }
    24  
    25 int main()
    26 {
    27     int n;
    28     while(scanf("%d",&n),n)
    29     {
    30         int a[20]={0};
    31         int i,t=0;
    32         for(i=2;i<=16;i++)
    33         {
    34             if(judge(n,i))
    35             {
    36                 t=1;
    37                 a[i]=1;
    38             } 
    39         }
    40         if(t)
    41         {
    42             printf("Number %d is palindrom in basis",n);
    43             for(i=2;i<=16;i++)
    44             {
    45                 if(a[i]) printf(" %d",i);
    46             }
    47             printf("
    ");
    48         }
    49         else printf("Number %d is not a palindrom
    ",n);
    50     }
    51     return 0;
    52 }
  • 相关阅读:
    用友跨账套查询
    用友单据导入
    Delphi Math单元函数
    9.golang 字符串操作
    7.golang 结构体和指针
    6.golang 数组,切片,映射
    5.golang 控制流程 if, else if ,switch ,defer使用
    golang 指针类型* ,以及 &取变量内存地址
    phpjwt 第三方库生成token验证,也可以做公钥,私钥的验证方法。
    golang采坑一 expected ';', found 'import'
  • 原文地址:https://www.cnblogs.com/jiamian/p/10652551.html
Copyright © 2011-2022 走看看