设为首页 加入收藏

TOP

问题五十五: 输出10000以内的所有回文数
2014-11-23 22:30:24 来源: 作者: 【 】 浏览:9
Tags:问题 五十五 输出 10000 以内 所有 文数

print /* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 输出10000以内的所有回文数
* 问题来源:
* 完成日期: 2013 年4 月17日
* 版 本 号: V1.0
*/

#include

int isPalindrome(int m); //是回文数

int main()
{
int i;

for(i=2; i<10000; i++)
{
if (isPalindrome(i) )
{
printf("是回文素数有:%d\n", i);
}
}

return 0;
}

int isPalindrome(int m)
{
int i=0;
int j;
int num;
int a[5];


if(m>=10) //检测大于10的回文数
{
num=m;
while(m) //m==0时结束,次循环吧m的每一位存入数组中
{
a[i++]=m%10;
m=m/10;
}

for(j=i-1; j>=0; j--) //检测是否为回文
{
if(a[j]!= num%10)
{
return 0; //若有不同返回0
}
num=num/10;
}

return 1;
}

else //小于10,肯定不是回文数
{
return 0;
}
}

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* All rights reserved.
* 文件名称: txt.c
* 作 者: liuyongshui
* 问 题: 输出10000以内的所有回文数
* 问题来源:
* 完成日期: 2013 年4 月17日
* 版 本 号: V1.0
*/

#include

int isPalindrome(int m); //是回文数

int main()
{
int i;

for(i=2; i<10000; i++)
{
if (isPalindrome(i) )
{
printf("是回文素数有:%d\n", i);
}
}

return 0;
}

int isPalindrome(int m)
{
int i=0;
int j;
int num;
int a[5];


if(m>=10) //检测大于10的回文数
{
num=m;
while(m) //m==0时结束,次循环吧m的每一位存入数组中
{
a[i++]=m%10;
m=m/10;
}

for(j=i-1; j>=0; j--) //检测是否为回文
{
if(a[j]!= num%10)
{
return 0; //若有不同返回0
}
num=num/10;
}

return 1;
}

else //小于10,肯定不是回文数
{
return 0;
}
} 局部图

\


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇问题五十七: 楼梯有n阶台阶,上楼.. 下一篇问题五十九: 创建一个长度为20的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: