結果
問題 | No.144 エラトステネスのざる |
ユーザー |
|
提出日時 | 2024-03-18 11:29:56 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 32 ms / 2,000 ms |
コード長 | 855 bytes |
コンパイル時間 | 11,277 ms |
コンパイル使用メモリ | 280,820 KB |
最終ジャッジ日時 | 2025-02-20 07:13:53 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2") #include <bits/stdc++.h> #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 1000000007LL #define MAX 502 #define long long long #define all(x) x.begin(),x.end() using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; double p; cin >> n >> p; p = 1-p; vector<int> cnt(n+1); for(int i = 2; i<=n; i++) { for(int j = i+i; j<=n; j+=i) cnt[j]++; } double res = 0; vector<double> pow(10000); pow[0] =1; for(int i =1; i<10000; i++) { pow[i] = pow[i-1]*p; } for(int i = 2; i<=n; i++) { res+=pow[cnt[i]]; } cout << fixed << setprecision(10) << res << endl; return 0; }