输入一个正整数,判断是否为回文数;C语言的

 我来答
百度网友32561a7
推荐于2017-09-09 · TA获得超过2283个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:175万
展开全部
"回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数.

任意某一个数通过以下方式相加也可得到

如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992

不过很多数还没有发现此类特征(比如196,下面会讲到)

另外个别平方数是回文数

1的平方=1

11的平方=121

111的平方=12321

1111的平方=1234321

在程序设计中,我们常常会遇到回文数的判断问题,这就需要我们对回文数有所了解,并能编写回文数函数予以调用。在此我用C语言编写了个回文数函数,其中 N 有读者自己定义,其调用很方便。

回文数函数代码如下:

#include <stdio.h>

#include<string.h>

#define N 80

int fun(char *str)

{

char a[N],b[N];

int i=0,j=0;

while(*str)

a[i++]=*str++;

a[i]='\0';

while(i>0)

b[j++]=a[--i];

b[j]='\0';

return (strcmp(a,b)==0);

}

问题补充:

人们迄今未能找到五次方,以及更高次幂的回文数。于是数学家们猜想:不存在nk(k≥5;n、k均是自然数)形式的回文数。

在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。

这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。

参考资料: http://danielzzu.blog.163.com/blog/static/118515304200951611262918/

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式