蓝桥杯 第几个幸运数 (DFS)


思路:从一开始,直接暴力DFS,每次有三个选择*3 *5 *7,遇到小于结果的sum++,大于则返回。

#include<iostream>
#include<map>
typedef long long ll;
using namespace std;

map<ll, int> ma;
ll sum = 0, s = 0;

void dfs(ll a)
{
   
	if (a >= s)return;
	if (ma[a] >= 1)return;
	ma[a]++;
	sum++;
	dfs(a * 3);
	dfs(a * 5);
	dfs(a * 7);
}

int main()
{
   
	ll ans = 0;
	s = 59084709587505;
	dfs(1);
	cout << sum;
}
全部评论

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务