头像

Cyan

四川成都

深度强化学习炼丹师

2015年第六届蓝桥杯省赛-A. 奖券数目

2015年第六届蓝桥杯省赛-A. 奖券数目

2021-12-16 · 43次阅读 · 原创 · 数据结构与算法

原题链接

题面

有些人很迷信数字,比如带 “4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。

某抽奖活动的奖券号码是 5 位数(10000-99999),要求其中不要出现带 “4”的号码。

主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

题解

暴力枚举

枚举 10000 - 99999 的每个数,判断每个数的每一位中是否包含4,若不包含答案加1即可。

答案:

52488

代码

#include <iostream> using namespace std; bool check(int x) { while (x != 0) { int t = x % 10; if (t == 4) return false; x = x / 10; } return true; } int main() { int res = 0; for (int i = 10000; i <= 99999; i++) { if (check(i)) res++; } cout << res << endl; return 0; }

标题: 2015年第六届蓝桥杯省赛-A. 奖券数目
链接: https://www.fightingok.cn/detail/172
更新: 2022-09-18 22:45:13
版权: 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可