| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1998 人关注过本帖
标题:求对称素数更简洁代码?
只看楼主 加入收藏
Meixu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-12
收藏
 问题点数:0 回复次数:5 
求对称素数更简洁代码?
编程求所有的3位数素数,且该数是对称的。所谓“对称”是指一个数,倒过来还是该数。例如:375不是对称数,因为倒过来变成了573。
下面是我的思路及算法:
1、先求出3位数的素数(100~999)
2、再到素数中找对称素数
程序代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int num,i;
for(num=100;num<=999;num++){
double sqrtm=sqrt(num*1.0);
for(i=2;i<=sqrtm;++i)
if(num%i==0) goto Loop;
if(num/100==(num%100)%10) cout<<num<<" 是一个对称素数."<<endl;
Loop:
}
system("pause");
}
计算结果为:
101 是一个对称素数.
131 是一个对称素数.
151 是一个对称素数.
181 是一个对称素数.
191 是一个对称素数.
313 是一个对称素数.
353 是一个对称素数.
373 是一个对称素数.
383 是一个对称素数.
727 是一个对称素数.
757 是一个对称素数.
787 是一个对称素数.
797 是一个对称素数.
919 是一个对称素数.
929 是一个对称素数.
不知还有没有更简洁的算法。
搜索更多相关主题的帖子: 代码 
2006-11-11 18:52
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
这个挺好的了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-11-11 19:42
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
you can first check whether this is a “symmetry-number” and then check whether this is a prime number, so that much checking for prime number is unnecessary, you can then save the time.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-11-12 00:51
jiayuaqing
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-12
收藏
得分:0 

不是不提倡用goto吗?

2006-11-12 20:03
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
I love "goto"!

=×&D o I p R e E n C g T l X&×=
2006-11-12 20:17
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
http://bbs.bc-cn.net/viewthread.php?tid=101836

这里有你要的东西.
求10亿之内的对称质数

2006-11-12 20:23
快速回复:求对称素数更简洁代码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020586 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved