- 积分
- 115
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 注册时间
- 2022-7-25
- 最后登录
- 1970-1-1
- 阅读权限
- 20
- 听众
- 收听
助理工程师
|
学技术,重在日拱一卒、一点一滴的积累。
今天,我们一起来分析C语言的算法:三重回文。
算法题目:找出3~999之间的所有的三重回文数字,并输出3-999之间的所有三重回文数,每行一个。
三重回文数既一个整数,它本身,它的平方,它的立方都是回文数。
编程思路
编程思路:
1、先判定一个变量i是否是回文数;
2、再判定该变量的平方i*i是否是回文数;
3、最后再判定该变量的立方i*i*i是否是回文数;
4、如果i,i*i,i*i*i都是回文数,就表示该变量是三重回文数,将该数输出。
程序范例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(int m);
/*判断一个数是否为回文子函数*/
int fun(int m)
{
int temp,s;
temp=0;
s=m;
while(m!=0)
{
temp*=10;
temp+=m%10;
m=m/10;
}
if(temp==s)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int i;
for(i=3;i<1000;i++)
{
if(fun(i)&&fun(i*i)&&fun(i*i*i))
{
printf("i=%3d i*i=%5d i*i*i=%7d\n",i,i*i,i*i*i);
}
}
}
程序运行结果:
|
|