• PTA 7-190 第几个幸运数


    PTA 7-190 第几个幸运数

    作者 老段
    单位 成都锦城学院

    到x星球旅行的游客都被发给一个整数,作为游客编号。
    x星的国王有个怪癖,他只喜欢数字3,5和7。
    国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。
    我们来看前10个幸运数字是:
    3 5 7 9 15 21 25 27 35 45
    因而第11个幸运数字是:49
    小明领到了一个幸运数字59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。
    请你帮小明计算一下,59084709587505是第几个幸运数字。

    输入格式:
    无输入

    输出格式:
    输出该幸运数字的个数,末尾不要换行。

    输入样例:
    在这里给出一组输入。例如:

    `

    
    输出样例:
    在这里给出相应的输出。例如:
    
    
    • 1
    • 2
    • 3
    • 4

    1905

    
    **代码长度限制**
    16 KB
    时间限制
    400 ms
    内存限制
    64 MB**
    
    ```c
    #include 
    #include 
    int main() {
        // 幸运数的因数只含有3,5,7,可以推出---->幸运数=若干3*若干5*若干7,即3^a*5^b*7^c
        long long int num = 59084709587505;
        int count = 0; // 表示第几个
        for (int i = 0; pow(3, i) <= num; ++i) {    //筛选3的n次方数
            for (int j = 0; pow(5, j) <= num; ++j) {    //进一步筛选5的n次方数
                for (int k = 0; pow(7, k) <= num; ++k) {    //最后筛选7的n次方数
                    if(pow(3, i) * pow(5, j) * pow(7, k) <= num){
                        count++;
                    }
                }
            }
        }
        // 因为i,j,k等为0的时候结果为1,不满足幸运数条件故count多算一个,输出时减去即可
        printf("%d",count - 1);
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    解题思路:
    step1:筛选3的n次方数
    step2:进一步筛选5的n次方数
    step3:最后筛选7的n次方数

    归属知识点:
    循环结构

  • 相关阅读:
    EIP-3664合约研究笔记01--项目介绍
    前端面试题及答案:app怎么做适配的?
    网络安全方向系统学习指南
    Kafka 杂谈
    分账技术赋能农贸市场,重塑交易管理服务效能
    numpy.testing.assert_allclose
    批量单独下载package.json中的包
    jquery导航图片全屏滚动、首页全屏轮播图,各式相册
    晨曦记账本记账,如何自定义收支类别
    计算机网络_第五章_运输层
  • 原文地址:https://blog.csdn.net/higgins_li/article/details/127603897