日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[POI2002][HAOI2007]反素数

發布時間:2024/10/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [POI2002][HAOI2007]反素数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.lydsy.com/JudgeOnline/problem.php?id=1053

https://www.luogu.org/problemnew/show/P1463

定義:

對于任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。

如果某個正整數x滿足:g(x)>g(i) 0<i<x,則稱x為反質數。

題解:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; long long n; int p[20]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,51}; long long maxn=-1,num=-1;//num是因子最大時小于n的最大數,maxn是最大因子數 void get(long long m,int f,int t,int pr) { //f為當前質數的編號 ,當前指數<pr//t為當前約數的個數 if(t>maxn||(t==maxn&&m<num))//更新最優解num=m,maxn=t;for(int i=1;i<=pr;i++){//j表示的是當前正在搜索的指數if(n/m<p[f])break;//若不滿足條件就跳出循環(i表示的是當前的m)m*=p[f];if(m<=n) get(m,f+1,t*(i+1),i); //若i(即當前的m)在區間[1,n]內就繼續搜索。} } int main() {cin>>n;get(1,1,1,30);cout<<num<<endl; }

?

總結

以上是生活随笔為你收集整理的[POI2002][HAOI2007]反素数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。