思路应该是对的
查看原帖
思路应该是对的
690990
xiangbao楼主2023/3/3 18:57

本蒟蒻第二次发求助帖,请大佬们帮忙看看哪里错了,输出一直不对


#include<bits/stdc++.h>
using namespace std;
int main()
{
	int L,sum=0,i=2,n=0,a=0;//L为口袋的承重量,sum为质数加起来的和,i为质数,n为质数个数,a为i的因数个数 
	cin>>L;//输入L 
	for(;sum<=L;i++)//开始for循环,当sum小于L时运行,每次i++; 
	{
		for(int j=2;j<i;j++)//j为i可能的因数,只有当j小于i时才运行,每次j++; 
		{
			if(i%j==0)//检测j是否是i的因数 
			a++;//如果是,则a++; 
			if(a==0)//如果a为0,说明i是质数 
			{
				cout<<i<<endl;//输出i并换行 
				sum+=i;//sum加i 
				n++;//n+1 
				break;
			}
		}
	}
	cout<<n;//输出质数个数 
	return 0;
}
2023/3/3 18:57
加载中...