• 2018年第九届省赛C/C++A组第4题——第几个幸运数


    标题:第几个幸运数

    到x星球旅行的游客都被发给一个整数,作为游客编号。

    x星的国王有个怪癖,他只喜欢数字3,5和7。

    国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。

    我们来看前10个幸运数字是:

    3 5 7 9 15 21 25 27 35 45

    因而第11个幸运数字是:49

    小明领到了一个幸运数字 59084709587505,他去领奖的时候,
    人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。

    请你帮小明计算一下,59084709587505是第几个幸运数字。

    需要提交的是一个整数,请不要填写任何多余内容。

    代码

    #include <iostream>
    #include <set>
    #define MAXN 59084709587505
    using namespace std;
    
    set<long long> num;
    int a[3]={3,5,7};
    int main()
    {
    	long long number=1;
        while(1)
        {
            for(int i = 0; i < 3; ++i)
            {
                long long tt = number*a[i];
                if(tt <= MAXN) num.insert(tt);
            }
            number = *num.upper_bound(number);
            if(number == MAXN) break;
        }
        cout<<num.size()<<endl;
        return 0;
    }
    
  • 相关阅读:
    【扫盲】模块 库 框架 包
    AJax和JQ的结合使用
    AJax的三种响应
    使用session存储数据
    Requset作用域
    Cookie实现记住密码代码
    Cookie技术
    请求转发和重定向
    重定向的两次请求分别是????
    servlet
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338537.html
Copyright © 2020-2023  润新知