結果
| 問題 | 
                            No.1747 Many Formulae 2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-01-20 22:06:29 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 110 ms / 2,000 ms | 
| コード長 | 737 bytes | 
| コンパイル時間 | 225 ms | 
| コンパイル使用メモリ | 82,176 KB | 
| 実行使用メモリ | 87,680 KB | 
| 最終ジャッジ日時 | 2024-11-24 07:22:33 | 
| 合計ジャッジ時間 | 3,039 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
S = input()
l = list(map(int,list(S)))
C = 10 ** 6
dat = [0] * C
prime = set()
for i in range(2,C):
    if dat[i] == 0:
        prime.add(i)
        for j in range(2 * i,C,i):
            dat[j] = 1
import sys
if len(S) == 1:
    if int(S) in prime:
        print(1)
    else:
        print(0)
    exit()
def check(x):
    i = 2
    while i * i <= x:
        if x % i == 0:
            return False
        i += 1
    return True
N = len(S) - 1
ans = 0
for bit in range(1 << N):
    Sum = 0
    now = l[0]
    for j in range(N):
        mask = 1 << j
        if mask & bit:
            Sum += now
            now = l[j+1]
        else:
            now = now * 10 + l[j+1]
    Sum += now
    if check(Sum):
        ans += 1
print(ans)