結果
| 問題 | 
                            No.211 素数サイコロと合成数サイコロ (1)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-04-07 14:17:59 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 3 ms / 1,000 ms | 
| コード長 | 899 bytes | 
| コンパイル時間 | 1,667 ms | 
| コンパイル使用メモリ | 170,468 KB | 
| 実行使用メモリ | 6,824 KB | 
| 最終ジャッジ日時 | 2024-10-01 04:29:09 | 
| 合計ジャッジ時間 | 2,643 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge5 | 
| 外部呼び出し有り | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 33 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<long long>;
template <typename T> T get() {
    T r;
    cin >> r;
    return r;
}
template <typename T> vector<T> get_v(ll n) {
    vector<T> v;
    for (int i = 0; i != n; i++) {
        v.push_back(get<T>());
    };
    return v;
}
template <typename T> void show_v(vector<T> v) {
    for (ll i = 0; i != v.size() - 1; i++)
        cout << v[i] << " ";
    cout << *(v.end() - 1) << endl;
}
int main() {
    ll k = get<ll>();
    vll p = {2, 3, 5, 7, 11, 13}, g = {4, 6, 8, 9, 10, 12};
    vll prox(13 * 12 + 1, 0);
    for (auto const &i : p) {
        for (auto const &j : g) {
            prox[i * j]++;
        }
    };
    cout << fixed << setprecision(30);
    if (k > 13 * 12) {
        cout << 0.0 << endl;
    } else {
        cout << (double)prox[k] / (6 * 6) << endl;
    }
    system("pause");
}