第三届上海市青少年算法竞赛(小学组)线上同步赛T1数洞洞
解决这个问题的诀窍在于——把每个数字看成一个图形,其中封闭洞穴的数量就是答案。给定一个四位数,请你输出它的洞数量。有一个数学谜题是这样的:已知 1234=1,5678=3,6089=5,请问 2571=?内存限制: 256 Mb时间限制: 1000 ms。单个整数:表示输入的四位数 n。单个整数:表示 n 的洞穴数量。6有一个洞,8有两个洞。
·
数洞洞
内存限制: 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;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)