题目描述
有一个数学谜题是这样的:已知 1234=1,5678=3,6089=5,请问 2571= ?
解决这个问题的诀窍在于——把每个数字看成一个图形,其中封闭洞穴的数量就是答案。给定一个四位数,请你输出它的洞数量。
输入格式
单个整数:表示输入的四位数 n。
输出格式
单个整数:表示 n 的洞穴数量。
数据范围
1000≤n≤9999
样例数据
输入:
1234
输出:
1
说明:
4有一个洞
输入:
5678
输出:
3
说明:
6有1个洞,8有2个洞
输入:
1023
输出:
1
说明:
0有1个洞
代码实现
#include <bits/stdc++.h>
using namespace std;
int a[10] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1}, ans = 0;
int main() {
int n;
cin >> n;
int ans = 0;
while (n > 0) {
int s = n % 10;
n /= 10;
ans += a[s];
}
cout << ans;
return 0;
}