C语言小程序之我不想4

题目

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


某抽奖活动的奖券号码是5位数(10000-99999), 要求其中不要出现带"4"的号码, 主办单位请你计算一下, 如果任何两张奖券不重号, 最多可发出奖券多少张。

分析

在一连串连续数字中,输出不含4数字的个数。
也就是:判断一个数中含不含4。。。

经典/10%10

取数字的个, 十, 百, 千。。。位与4比较。

// 获取a是否包含b
int getNumber(int num, int ber)
{
    if(num%10==ber)
        return 1;
        
    if(num<ber)
        return num==ber;
    else
        getNumber(num/10, ber);
}

去吧main!

int main()
{
    int a = 10000, count = 0;
    while(a<100000)
    {
        if(!getNumber(a, 4))
        {
            count++;
            //printf("%d\n", a);
        }
        a++;
    }
    printf("%d", count);
}

结果

图片发自简书App
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容