結果
問題 |
No.889 素数!
|
ユーザー |
![]() |
提出日時 | 2019-09-24 22:58:06 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,315 bytes |
コンパイル時間 | 1,300 ms |
コンパイル使用メモリ | 60,244 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-19 13:52:29 |
合計ジャッジ時間 | 2,668 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 61 |
ソースコード
#include <iostream> #include <cmath> using namespace std; int Ripposu(int in); int Heihosu(int in); int Kanzensu(int in); int Sosu(int in); int main(){ int in; int ans; cin>>in; if(Ripposu(in)) return 0; if(Heihosu(in)) return 0; if(Kanzensu(in)) return 0; if(Sosu(in)) return 0; cout<<in<<endl; return 0; } int Ripposu(int in){ int k; for(k=2;k<4;k++){ if(pow(k,3)==in){ cout<<"Ripposu!"<<endl; return k; } } return 0; } int Heihosu(int in){ int k; for(k=2;k<8;k++){ if(pow(k,2)==in){ cout<<"Heihosu!"<<endl; return k; } } return 0; } int Kanzensu(int in){ int ans[1000]={}; int k,j=0; for(k=1;k<=in/2;k++){ if((in%k)==0){ ans[j]=k; j++; } } for(k=0;k<j;k++){ ans[j+1]+=ans[k]; } if(ans[j+1]==in && k!=0){ cout<<"Kanzensu!"<<endl; return 1; } return 0; } int Sosu(int in){ int i; int wrong=0; if((in%2)==0 && in!=2) return wrong; if(in==1) return wrong; for(i=3;i<in;i++){ if((in%i)==0){ //素数じゃない return wrong; } } cout<<"Sosu!"<<endl; return 1; }