奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
答案:52488
解题思路:对10000-99999的数遍历,检查当前数中含不含“4”,如果不含则计数器+1。
代码:
#include<stdio.h>
int check(int n)
{
int a=n/10000;
int b=n/1000%10;
int c=n/100%10;
int d=n/10%10;
int e=n%10;
if(a==4||b==4||c==4||d==4||e==4) return 0;
else return 1;
}
int main()
{
int cnt=0;
for(int i=10000;i<=99999;i++)
{
int flag=check(i);
if(flag) cnt++;
}
printf("%d\n",cnt);
return 0;
}