zoukankan      html  css  js  c++  java
  • 蓝桥杯: 标题:第几个幸运数

    到x星球旅行的游客都被发给一个整数,作为游客编号。
    x星的国王有个怪癖,他只喜欢数字3,5和7。
    国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。

    我们来看前10个幸运数字是:
    3 5 7 9 15 21 25 27 35 45
    因而第11个幸运数字是:49

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

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

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

    答案是:1905

    #include<bits/stdc++.h>
    
    using namespace std;
    typedef long long LL;
    const LL Max = 59084709587505;
    int a[3] = {3,5,7};
    
    void Find(LL Max)
    {
        set<LL> se;
        LL t  = 1;
        while(1)
        {
            for(int i = 0; i < 3; ++i)
            {
                LL tt = t*a[i];
                if(tt <= Max)
                se.insert(tt);
            }
            t = *se.upper_bound(t);
            if(t == Max)
                break;
        }
        set<LL>::iterator it;
        for(it = se.begin(); it != se.end(); ++it)
            cout<<*it<<endl;
    
        cout<<"answer = "<<se.size()<<endl;
    }
  • 相关阅读:
    (16)C#继承
    (3)新概念英语一(11-20)lessons
    (15)C#集合
    (14)编码
    (2)新概念英语一(1-10)lessons
    (13)C#数组和元组
    Uva 11729 Commando War
    Uva 11292 Dragon of Loowater
    谈谈单元最短路
    [USACO 3.3.1]骑马修栅栏t
  • 原文地址:https://www.cnblogs.com/hcw110/p/10555948.html
Copyright © 2011-2022 走看看