2018藍橋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是第幾個幸運數字。

需要提交的是一個整數,請不要填寫任何多餘內容

——————————————————————————————————————————————

答案:1905

#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=6e14;
vector<ll>vec;
int main()
{
	for(ll i=1;i<6e14;i*=3){
		for(ll j=1;j<6e14;j*=5){
			if(i*j>N)break;
			for(ll k=1;k<6e14;k*=7){
				if(i*j*k>N)break;
				vec.push_back(i*j*k);
			}
		}
	}
	sort(vec.begin(),vec.end());
	for(ll i=vec.size()-1;i>0;i--){
		if(vec[i]==59084709587505){
			printf("%lld",i);
			break;
		}
	}
	return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章