所有的有关于回文数的定义和如何判断一个n的d进制数是否是回文数的方法都在我的代码注释当中,直接上代码:
#include <stdio.h>
int circle(int n,int d);
/**
* @brief main 判断正整数n的d进制表示是否是回文数
* @return
*/
int main(void)
{
/**
* 回文数,就是顺着看和倒着看相同的书,例如n=232,十进制书表示为232,
* 顺着看和倒着看都是232,则表示n是回文数
* 判断n的d进制表示是否是回文数有两种办法
* 1:先把n转换成d进制表示,然后两个指针从前向后和从后向前
* 同时运算,比较两个char是否相等
*
* 2:先顺序译出n的d进制数,然后将各位数字按从低位到高位转换成一个
* 整数,看和n是否相等
*
* 这里我们使用第二种方式
*/
int n;
int ds[] = {2,10,16};
printf("Please enter the integer n:\n");
scanf("%d",&n);
int i = 0;
for(i = 0;i < sizeof(ds)/sizeof(ds[0]);i++){
int isCircle = circle(n,ds[i]);
if(isCircle == 0){
printf("%d => <%d>: is not circle!\n",n,ds[i]);
}else{
printf("%d => <%d>: is circle!\n",n,ds[i]);
}
}
return 0;
}
/**
* @brief circle 该函数用于判断一个正整数n的
* d进制数是否是回文数
* @param n 被判断的正整数n
* @param d 进制数
* @return 1-是回文数,0-不是回文数
*/
int circle(int n,int d){
int s = 0;
int m = n;
while(m){
s = s * d + m % d;
m /= d;
}
return s == n;
}
下面是我的程序的运行结果:
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,如12121和3223都是回文数
输入一个5位整数,判断该数是否是一个回文。例如12521是一个回文,将其按相反的顺序排列,仍然是12521
将十进制数N转换为r进制的数,其转换方法利用辗转相除法:以N=3456,r=8为例转换
【问题描述】输入一个整数,判断其是否为回文数!回文数是不论从左向右顺读,还是从右向左倒读,结果都是一样的,例如151,15351. 【输入形式】从键盘输入一个整数 【输出形式】判断其是否回文数 【样例输入】 151 ...
def hwnum(n): m=n[::-1] if (m==n): print("是回文数字。") else: print("不是回文数字。") num=input("请输入你要查询的回文数字:") hwnum(num)
栈的基本操作(包括进制转换、回文序列判断)(C语言)
# 给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。 # 如果存在,则输出YES,否则输出NO。 # 回文串的定义:记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba". # 输入...
C语言源代码 判断字符串是否是回文。。。
Shell脚本,实现输入一个正整数n,打印从1-n之间的回文数,并统计个数
使用java编写的小程序,能够判断是几位数,并输出。以及判断是否是回文数,希望能够帮助大家。
用户从键盘输入一个Long范围之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。并输出个位数所对应的枚举常量...
编写程序 判断一个数是否是回文数(从左向右和从右向左读一样)
虽然在任何进制数种, 0 只有一个值——那就是「零」,之所以问这个问题,纯粹是闲着蛋疼。 最近和朋友们讨论关于数的话题,他说,八进制数现在几乎从未使用过。 我一时无法反驳,确实,除了我们经常使用的十进制,...
下面是一个Python程序,用于判断一个数字是否是Python特殊回文数。 ```python def is_palindrome(n): return str(n) == str(n)[::-1] def is_special_palindrome(n): if is_palindrome(n) and is_palindrome(bin(n)...
上是十分游泳的资源,就饿我 饿我去我 饿而且 ..
输入一个数,判断它是否是回文数,如果是回文,输出这个数是回文,如果不是,输出这个数不是回文。
输入一个整数判断其是否是回文数……可以直接在vc6.0平台上 直接运行通过,例如输入 121 ,则输出,恭喜您,您输入的是回文数……呵呵,见笑了,学习学习……
判断一个整数N 是不是回文数(10 进制和2 进制都要是回文):例如1,3,5 都满足条件。 备注:判断10 进制时要提取出N 的每个位上的数字,判断2 进制可将N 化为2 进制。
数据结构C语言利用栈来实现判断一个数是否是回文数需要一个一个数字输入输入结束以后选择是否要继续输入
判断输入的正整数是不是回文数 回文数是指将一个正整数从左往右排列和从右往左排列值一样的数