网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月18日
漏签
0
天
c++吧
关注:
540,587
贴子:
2,090,979
看贴
图片
吧主推荐
游戏
10
回复贴,共
1
页
<<返回c++吧
>0< 加载中...
素数问题,欢迎来讨论
只看楼主
收藏
回复
哎洋葱k
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
用穷举法列举1到100内的素数
哎洋葱k
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<iostream>
using namespace std;
int main()
{ for(int i=2;i<=100;i++)
{
int judge=1;
for(int n=2;i>n;n++) {if(i%n==0) judge=0;break;}
if(judge) cout<<i<<"是素数"<<endl;
}
return 0;
}
哎洋葱k
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我这个写的有问题啊,有些合数也显示出来了
心之刃
->*
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
i=3开始,if后添大括号
哎洋葱k
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<iostream>
using namespace std;
int main()
{ int number=2,n,t,judge;
do{ t=number/2;n=2;judge=1;
while(n<=t)
{if(number%n==0) {judge=0;break;}
n++;}
if(judge) cout<<number<<"是素数"<<endl;number++;
}while(number<=100) ;
return 0;
}
我用do while和while都成功了
newbie2018
&&
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这么小的集合 直接刷表方法最快了 哈哈
#include <stdio.h>
//方法1 刷表
const int iPrimeTab[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,
67,71,73,79,83,89,97
};
///方法2 因子判断
bool isPrime(int n)
{
if (n<=1) return false;
for(int i=2; i*i <= n; i++){
if (!(n%i)) return false;
}
return true;
}
int main()
{
for (int i=1;i<100;i++){
if (isPrime(i))
printf("%d ",i);
}
return 0;
}
Baka9
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
刷表正解 但是我告诉你 我们实际应用的素数表都是两个之间差值 要的时候算
为什么你可以想想
newbie2018
&&
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
分解质因数的代码我也写上来 供参考
#include <iostream>
using namespace std;
int main()
{
int n;
ios::sync_with_stdio(false);
while(cin>>n){
int i,j = n,k=0;
cout<< n<< " = ";
for (i=2;i<=j;i++){
if (!(j%i)){
if (++k > 1) { cout << "*"; }
cout<< i;
j /= i;
i = 1;
}
}
cout<<endl;
}
return 0;
}
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示