筛数为什么不对!!!20分求助!!!
查看原帖
筛数为什么不对!!!20分求助!!!
1046305
WCX6936楼主2023/8/23 13:46

哪位大佬帮我看看,感激不尽!!!

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int L,i,j,gs,s,m;
	cin>>L;
	if(L<=1){//特判
    	    cout<<0;
	    return 0;
	}
	for(i=2;i<=L;i++){//筛数
		m=floor(sqrt(i)+0.5);
		for(j=2;j<=m;j++){
			if(i%j==0)break;
		}
		if(j>m){//输出答案
			cout<<i<<endl;
			s=s+i;
			gs++;
			if(s+i>L)break;
		}
	}
	cout<<gs;//个数
	return 0;
} 
2023/8/23 13:46
加载中...