P 5723【深基4.例13】質量ポケット

6745 ワード

英語の授業は魚の問題を触って+1
テーマ説明小Aは質量数ポケットがあり、中にはそれぞれの質量数を入れることができます.彼は2から、それぞれの自然数が素数かどうかを順番に判断し、素数ならこの数字をポケットに入れた.ポケットの負荷量はポケットの中のすべての数字の和です.しかしポケットの荷重は限られており、合計L(1≦L≦100000)を超える質量数は入れられない.Lを出して、ポケットの中にいくつの質量数を入れることができますか?これらの質量数を小さい頃から大きく出力し、最大装着可能な質量数の数を出力し、すべての数値の間に空の行があります.
入力形式なし
出力フォーマットなし
入出力サンプル入出力100出力2 3 5 7 11 13 19 23 9
#include
using namespace std;
int isit(int);
int main(){
	int all,judge=0,num=0;
	cin>>all;
	for(int i=2;;i++){
		if(i!=2&&i%2==0){
			continue;
		}
		else{
			if(isit(i)==1){
				judge+=i;
				if(judge<=all){
					cout<<i<<"
"
; num++; } else{ cout<<num; return 0; } } } } } int isit(int a){ if(a==0||a==1){ return 0; } if(a==2){ return 1; } else{ for(int j=2;j<=(int)sqrt((double)a);j++){ if(a%j==0){ return 0; } } return 1; } }