队内题求调
  • 板块学术版
  • 楼主AcxxMz
  • 当前回复11
  • 已保存回复11
  • 发布时间2023/1/29 14:38
  • 上次更新2023/10/24 02:42:07
查看原帖
队内题求调
492190
AcxxMz楼主2023/1/29 14:38

哆啦A梦の口袋

题目描述

哆啦A梦有一个神奇的口袋,可以装下很多的质数。

现在,告诉你这个口袋的容量大小,你需要输出所有它可以装下的质数。注意,每个质数只能出现一次,也就是说不可以重复装入2这样。

输入格式

输入仅一个整数,表示口袋的大小m

0≤m≤100,000

输出格式

输出包括两行,第一行为若干个空格隔开的整数,表示可以被装入的质数,注意按从小到大的顺序输出。

第二行是一个整数,表示被装入的质数数量。

样例 #1

样例输入 #1

100

样例输出 #1

2 3 5 7 11 13 17 19 23
9

80分代码

#include<bits/stdc++.h>
using namespace std;
int L,cnt,p[100005],sum;
bool zhi(int x)
{
	if(x<2)
		return false;
	for(int i=2;i*i<=x;i++)
	{
		if(x%i==0)
			return false;
	}
	return true;
}
int main()
{
	cin>>L;
	for(int i=2;i<=L;i++)
	{
		if(zhi(i)==true&&sum+i<=L)
		{
			cnt++;
			sum=sum+i;
			p[cnt]=i;
		}
	}
	for(int i=1;i<=cnt;i++)
	{
		cout<<p[i]<<endl;
	}
	cout<<cnt;
	return 0;
}
2023/1/29 14:38
加载中...