有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),
要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
分析:从10000~99999,统计没有一位为4的数字的个数~结果为52488~
当然也可以不用代码解决~用排列组合~8*9*9*9*9=52488~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <string> using namespace std; int main() { int cnt = 0; for (int i = 10000; i <= 99999; i++) { string s = to_string(i); int flag = 0; for (int j = 0; j < 5; j++) { if (s[j] == '4') flag = 1; } if (flag == 0) cnt++; } cout << cnt; return 0; } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼