P 5723【深基4.例13】質量ポケット
英語の授業は魚の問題を触って+1
テーマ説明小Aは質量数ポケットがあり、中にはそれぞれの質量数を入れることができます.彼は2から、それぞれの自然数が素数かどうかを順番に判断し、素数ならこの数字をポケットに入れた.ポケットの負荷量はポケットの中のすべての数字の和です.しかしポケットの荷重は限られており、合計L(1≦L≦100000)を超える質量数は入れられない.Lを出して、ポケットの中にいくつの質量数を入れることができますか?これらの質量数を小さい頃から大きく出力し、最大装着可能な質量数の数を出力し、すべての数値の間に空の行があります.
入力形式なし
出力フォーマットなし
入出力サンプル入出力100出力2 3 5 7 11 13 19 23 9
テーマ説明小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;
}
}