[蓝桥杯2018初赛]第几个幸运数

第几个幸运数

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

思路:这个题开三个for暴力找就行。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll ans=0;
    ll n=59084709587505;
    for(int i=0;pow(7,i)<n;i++)
    {
        for(int j=0;pow(5,j)<n;j++)
        {
            for(int k=0;pow(3,k)<n;k++)
            {
                if(pow(3,k)*pow(5,j)*pow(7,i)<n)ans++;
            }
        }
    }
    cout<<ans;
    return 0;
}


版权声明:本文为weixin_45924251原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。