数洞洞

内存限制: 256 Mb时间限制: 1000 ms

题目描述

有一个数学谜题是这样的:已知 1234=1,5678=3,6089=5,请问 2571= ?

解决这个问题的诀窍在于——把每个数字看成一个图形,其中封闭洞穴的数量就是答案。给定一个四位数,请你输出它的洞数量。

输入格式

单个整数:表示输入的四位数 n。

输出格式

单个整数:表示 n 的洞穴数量。

数据范围

1000≤n≤9999

样例数据

输入:
1234
输出:
1
说明:
4有一个洞
输入:
5678
输出:
3
说明:
6有一个洞,8有两个洞
输入:
1023
输出:
1
说明:
0有一个洞
 

解析:对于每个数字,可以把它的洞洞数量存在数组中,取n的每一位,累加洞洞数量即可,详见代码:

 

#include <iostream>
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;
    return 0;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐