第几个幸运数字

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

  2. 代码实现:

点击查看代码
#include <bits/stdc++.h>
#include<math.h>
using namespace std;
int main()
{
	long long n=59084709587505;
	int i,j,k;
	int ans=0;
	for(i=0;pow(3,i)<n;i++){               //暴力求解
		for(j=0;pow(5,j)<n;j++){
			for(k=0;pow(7,k)<n;k++){
				if(pow(3,i)*pow(5,j)*pow(7,k)<n){        //当出现其他含有因子3,5,7的数字且小于n时,个数++
					ans++;
				}
			}
		}
	}
	cout<<ans;
  // 请在此输入您的代码
  return 0;
}
posted @ 2022-03-07 23:34  自然力  阅读(78)  评论(0)    收藏  举报