C判断一个正整数n的d进制数是否是回文数
来源:互联网 发布:daemontools linux 编辑:程序博客网 时间:2024/05/16 06:00
所有的有关于回文数的定义和如何判断一个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;}
下面是我的程序的运行结果:
0 0
- C判断一个正整数n的d进制数是否是回文数
- 判断一个正整数是否是回文数
- 判断一个正整数是否是回文数
- 【C#】判断一个数是否是2的N次方
- 用c语言判断一个数是否是回文数
- 判断一个数 是否是回文数 C语言代码!
- C语言判断一个数是否是回文数
- 判断一个正整数是否是4的n次幂
- 判断一个数是否是正整数
- 判断一个数是否是2的正整数次幂
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- 判断一个数是否是回文数
- C实例--判断一个字符串是否是回文数
- 二元选择排序
- JMS学习(一)入门及activemq简单实例
- JMS学习(二)activeMQ
- 五子棋1.0版,c++初学
- 美国研究:穷养孩子难翻身
- C判断一个正整数n的d进制数是否是回文数
- 我们为什么需要Map-Reduce?
- 曾经轰动全球的短文,关于年轻人的梦想
- Same Tree Leetcode c#
- 碟对碟!《身份》《无声处》同天发布会
- 利用Spring AOP 更新Memcached 缓存策略的实现
- 从零开始利用XMPP做即时通讯ios篇(一)
- 使用Memcached、Spring AOP构建数据库前端缓存框架
- 谷丽萍年轻时真是个倾国倾城的大美女(图)