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