C语言编程:求一个回文数
来源:互联网 发布:多瑞科舆情数据分析站 编辑:程序博客网 时间:2024/06/10 22:13
回文数,是指正着读、反着读,都相同的数字。如:1221、13531...等等。
任取一个十进制整数,用下面的方法可以求出一个回文数:
把这个数字的各个位,颠倒前后位置,形成一个新数,再和原数相加,得到的和,就可能是一个回文数。
如果不是回文数,就再重复上述的步骤,则最终可得到回文数。
如十进制数是 78,则形成回文数的过程为:
78 + 87 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884
上述方法,尚没有得到数学上的理论证明,属于一个猜想。可以编写一个程序来加以验证。
要求在输入一个数字后,显示出来计算的过程。
题目链接:http://zhidao.baidu.com/question/1240041299862784739
做而论道编程如下:
#include <stdio.h>
unsigned int f1(unsigned int x)
{
unsigned int y = 0, t;
while(x) {t = x % 10; x /= 10; y *= 10; y += t;}
return y;
}
unsigned int f2(unsigned int x)
{
if (x == f1(x)) return 0;
return 1;
}
void main()
{
unsigned int i;
printf("Input a number: "); scanf("%d", &i);
while(f2(i)) {
printf("%u + %u = ", i, f1(i)); //打印过程
i += f1(i);
printf("%u\n", i); //打印过程
}
printf("HUI WEN SHU = "); printf("%u", i);
printf("\n\n");
}
这个程序执行时,显示如下:
Input a number: 8627
8627 + 7268 = 15895
15895 + 59851 = 75746
75746 + 64757 = 140503
140503 + 305041 = 445544
HUI WEN SHU = 445544
Press any key to continue
0 0
- C语言编程:求一个回文数
- C语言求回文数
- C语言 回文数
- C语言:回文数
- 用c语言判断一个数是否是回文数
- 判断一个数 是否是回文数 C语言代码!
- 【C语言】判断一个数是否为回文数
- 【c语言】判断一个数是不是回文数
- 【C语言】判断一个数是否为回文数
- C语言判断一个数是否是回文数
- 【C语言】判断一个数是不是回文数
- 用C语言编程求水仙花数
- 【C语言】求一个数的绝对值
- 【C语言】判断一个数是否为回文字符串
- C语言求回文素数
- 求一个数的回文数
- 求一个数是否为回文数
- C语言判断回文数
- VB 6.0 精确到毫秒的计时器 demo
- 51汇编语言编程,共五个小题
- 80x86 汇编语言编程:EXE2COM
- 80x86 汇编语言编程:数据排序与显示
- ZOJ1042
- C语言编程:求一个回文数
- 51单片机串行接收并显示
- 80x86 汇编:用辗转相除法求两个数的最大公约数
- 80x86 汇编语言:键入字符串,然后存盘
- 数字电子技术--60秒倒计时电路
- 锁相环 CD4046 的应用
- Android程序打包过程
- 一个需要英雄的时代
- 很令人惊奇的单片机程序