蓝桥杯 奖券数目(第六届第一题)


奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
 

结果:52488

 

方法一:写代码,分解判断

#include <bits/stdc++.h>

using namespace std;


bool have4(int a){
    while(a){
        if(a%10==4)return true;
        a=a/10;
    }
    return false;
}

int main(){
    int cnt=0;
    for(int i=10000;i<=99999;i++){
        if(!have4(i))cnt++;
    }
    cout<<cnt;
}

 

 

方法二:手算,8x9x9x9x9

posted @ 2019-03-18 19:27  开局一把刀  阅读(5)  评论(0)    收藏  举报