結果
問題 | No.1747 Many Formulae 2 |
ユーザー |
![]() |
提出日時 | 2021-11-19 21:24:37 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 807 bytes |
コンパイル時間 | 3,658 ms |
コンパイル使用メモリ | 250,896 KB |
最終ジャッジ日時 | 2025-01-25 19:55:03 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <stdio.h>#include <bits/stdc++.h>#include <atcoder/all>using namespace atcoder;using mint = modint1000000007;using namespace std;#define rep(i,n) for (int i = 0; i < (n); ++i)#define Inf 1000000001bool is_prime(long long n){if(n==1)return false;for(long long i=1;i*i<=n;i++){if(n%i==0 && i!=n && i!=1)return false;}return true;}int main(){string s;cin>>s;int n;n = s.size();int ans = 0;rep(i,1<<(n-1)){vector<long long> t;t.push_back(s[0]-'0');rep(j,n-1){if((i>>j)&1){t.back() = t.back()*10 + (s[j+1]-'0');}else{t.push_back(s[j+1]-'0');}}long long S = 0;rep(j,t.size()){S += t[j];//cout<<t[j]<<',';}//cout<<endl;if(is_prime(S)){//cout<<S<<endl;ans++;}}cout<<ans<<endl;return 0;}