40pts!
查看原帖
40pts!
793067
Sam_Gamer楼主2023/5/4 13:38
#include <bits/stdc++.h>
using namespace std;
int main()
{
     long long l,ans[20000],sum=0,n=0,maxsum=0,cnt=0;
     cin>>l;
     while(pow(n,2)+n<=l*2)
     {
     	n++;
     }
     //cout<<n;
     n=n-1;
     maxsum=n*2-1;
     for(int i=2;i<=maxsum;i++)
     {
     	bool flg=0;
     	for(int j=2;j*j<=i;j++)
     	{
     	
     		
     		if(i%j==0)
     		{
     			flg=1;
     			break;
     		}
     	}
     	if(flg==0)
     	{
     		
     		ans[i]=i;
     		cnt+=ans[i];
     	    cout<<ans[i]<<'\n';
     		sum++;
     		
     		
     	}
     }
    
     
     cout<<sum<<"\n";
     return 0;
     
 
}
   
当所有质数相加之和=L时,会多输出下一个质数,并且计数器多+1
2023/5/4 13:38
加载中...