Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
46308 | zhouhuanyu 玙静 | 分成整数 | C++ | 通过 | 0 MS | 248 KB | 450 | 2024-05-03 09:35:54 |
#include <bits/stdc++.h> using namespace std; int cnt; bool ex_37(int n){ while(n){ if(n % 10 == 3 || n % 10 == 7){ return 0; } n /= 10; } return 1; } void dfs(int n, int k, int a){ if(k == 1){ if(n >= a){ cnt += ex_37(n); } return; } for(int i = a; i * k <= n; i++){ if(ex_37(i)){ dfs(n - i, k - 1, i + 1); } } } int main(){ int n; cin >> n; dfs(n, 3, 1); cout << cnt; return 0; }