| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1998 人关注过本帖
标题:求对称素数更简洁代码?
取消只看楼主 加入收藏
Meixu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-12
收藏
 问题点数:0 回复次数:0 
求对称素数更简洁代码?
编程求所有的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
快速回复:求对称素数更简洁代码?
数据加载中...
 
   



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

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