結果
問題 | No.371 ぼく悪いプライムじゃないよ |
ユーザー | h_noson |
提出日時 | 2016-06-17 00:06:31 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 962 bytes |
コンパイル時間 | 349 ms |
コンパイル使用メモリ | 59,544 KB |
最終ジャッジ日時 | 2023-08-29 01:08:31 |
合計ジャッジ時間 | 837 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge15 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:34:18: error: ‘sqrt’ was not declared in this scope for (int x = sqrt(h); ; x--) { ^~~~ main.cpp:34:18: note: suggested alternative: ‘qsort’ for (int x = sqrt(h); ; x--) { ^~~~ qsort
ソースコード
#include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; #define REP(i,s,e) for (i = s; i <= e; i++) #define rep(i,n) REP (i,0,(int)(n)-1) #define RREP(i,s,e) for (i = s; i >= e; i--) #define rrep(i,n) RREP (i,(int)(n)-1,0) #define INF (int)1e8 #define MOD (int)(1e9+7) typedef long long ll; bool prime[100001]; ll least_prime(ll x) { for (int i = 2; i * i <= x; i++) if (x % i == 0) return i; return x; } int main(void) { for (int i = 2; i <= 100000; i++) prime[i] = true; for (int i = 2; i * i <= 100000; i++) if (prime[i]) { for (int j = i*2; j <= 100000; j+=i) prime[j] = false; } ll l, h; cin >> l >> h; for (int x = sqrt(h); ; x--) { if (prime[x]) for (ll y = h / x; y * x >= l; y--) { if (least_prime(y) >= x) { cout << y * x << endl; return 0; } } } return 0; }