結果
| 問題 | 
                            No.1747 Many Formulae 2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2021-11-21 22:16:02 | 
| 言語 | C++17  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 551 bytes | 
| コンパイル時間 | 2,053 ms | 
| コンパイル使用メモリ | 193,084 KB | 
| 最終ジャッジ日時 | 2025-01-26 00:10:01 | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
string s;
int n, m = 0;
bool f;
int main()
{
	cin >> s;
	n = s.size();
	for (int i = 0; i < (1 << (n - 1)); i++) {
		long long t = 0, u = s[0] - '0';
		for (int j = 0; j < n - 1; j++) {
			if (i & (1 << j)) {
				t += u;
				u = s[j + 1] - '0';
			}
			else {
				u = u * 10 + s[j + 1] - '0';
			}
		}
		t += u;
		if (t > 1) {
			f = 0;
			for (long long j = 2; j <= sqrt(t); j++) {
				if (t % j == 0) {
					f = 1;
					break;
				}
			}
			if (!f) {
				m++;
			}
		}
	}
	cout << m << endl;
}