結果
問題 |
No.8093 Please GCD
|
ユーザー |
👑 |
提出日時 | 2022-04-01 21:29:27 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 725 bytes |
コンパイル時間 | 744 ms |
コンパイル使用メモリ | 74,656 KB |
最終ジャッジ日時 | 2025-01-28 13:43:58 |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 6 RE * 24 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:36:16: warning: division by zero [-Wdiv-by-zero] 36 | cout << 1/0 << endl; | ~^~
ソースコード
#include <iostream> #include <vector> using namespace std; struct SieveEratos{ vector<int> t; SieveEratos(int n):t(n+1,true){ t[0] = t[1] = 1; for(int i = 2; n >= i; i++){ if(t[i]){ for(int j = i+i; n >= j; j+=i){ t[j] = 0; } } } } bool operator[](int x){return t[x];} }; int main(){ int n;cin>>n; SieveEratos SE(n); vector<int> p; for(int i = 2; n >= i; i++){ if(SE[i])p.push_back(i); } int ans = 1; for(int i = 0; p.size() > i; i++){ int nw = 1; while(n >= p[i]*nw){ nw *= p[i]; } cout << "? " << nw << endl; int t; cin>>t; if(t == -1){ cout << 1/0 << endl; } ans *= t; } cout << ans << endl; }