筛选法求质数不会了,请大神看看
  • 板块题目总版
  • 楼主hqc31415926
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/5/2 21:59
  • 上次更新2024/5/3 09:33:05
查看原帖
筛选法求质数不会了,请大神看看
1277779
hqc31415926楼主2024/5/2 21:59

以下是代码

问题的原因是:用最大值质数只显示到149717

导致四个只对两个

#include<bits/stdc++.h>
using namespace std;
unsigned long int a[50000000];
int main(){
	unsigned long int i,s,k;
	unsigned long int p=0;
	cin>>k;
	bool d;
	for(s=2;s<=k;s++)
	{
		d=0;
		for(i=1;i<=p;i++)
		{
			if(s==2)
			{
				break;
			}
			if(s%(a[i])==0)
			{
				d=1;
				break;
			}
		}
		if(d==0)
		{
			cout<<right<<setw(8)<<s;
			a[p+1]=s;
			p++;
		}
	}
	return 0;
 }
2024/5/2 21:59
加载中...