• 回文数


    题目描述

    我们把从左往右和从右往左念起来相同的数字叫做回文数。例如,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 }
  • 相关阅读:
    【云栖社区001-数据结构】如何实现一个高效的单向链表逆序输出(Java版)
    全球疫情爬取及展示
    两个命令配置云服务器web开发环境
    云服务器的两类系统特点整理介绍
    团队介绍和项目简介
    Navicat连接阿里云服务器上MySQL数据库
    Android_bilibili式评论及回复的简单实现
    人月神话阅读笔记02
    每日进度博客_2
    每日进度博客_1
  • 原文地址:https://www.cnblogs.com/jiamian/p/10652551.html
Copyright © 2020-2023  润新知