【模板】【数学】反质数

题目链接:https://www.luogu.com.cn/problem/P1463

其实反质数就是要约数最大,在此前提下这个数最小。

然后它分解出来的质数一定是连续的,并且分解出来的质数的指数是单调递减的,所以可以dfs求。

参考:https://blog.csdn.net/qq_40942372/article/details/82016727

【模板】【数学】反质数

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 ll p[20] = { 0 , 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47};
 5 ll n,best,ans;
 6 void dfs(int dep,ll now,ll num,int limit){
 7     if(dep >= 16) return;
 8     if( now > n) return;
 9     if( num > best ){
10         best = num;
11         ans = now;
12     }
13     if( num == best && ans > now ) ans = now;
14     for(int i = 1;i<=limit;++i){
15         now *= p[dep];
16         if( now > n) return;
17         dfs( dep + 1,now,num*(i+1),i);
18     }
19 }
20 int main(){
21     scanf("%lld",&n);
22     best = 0;
23     dfs(1,1,1,35);
24     printf("%lld",ans);
25 }

View Code

 

原文链接: https://www.cnblogs.com/xiaobuxie/p/12243369.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    【模板】【数学】反质数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/326032

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午3:38
下一篇 2023年3月1日 下午3:39

相关推荐