提交时间:2024-01-23 17:14:34

运行 ID: 125565

# include <iostream> # include <memory.h> using namespace std; const long long num[11] = {6,2,5,5,4,5,6,3,7,6}; bool record[24]; long long getn(long long x){ if (x == 0) return 6; long long sum = 0; while (x != 0){ sum += num[(x % 10)]; x /= 10; }return sum; }int main(){ memset(record,true,sizeof(record)); long long n,cnt = 0; cin >> n; if (n < 13){ cout << 0; return 0; }n -= 4; for (long long a = 0;a <= n;a++){ for (long long b = 0;b <= n;b++){ long long c = a + b; if (getn(a) + getn(b) + getn(c) == n && (a != b || record[a])){ cnt++; // prlong longf("%d,%d,%d\n",a,b,c); if (a == b) record[a] = !record[a]; } } }cout << cnt; return 0; }