反质数:设f(n)表示n个约数的个数,如果对于任意x有0<x<n, f(x) < f(n),那么n就是一个反质数我们都知道对于任意一个数n,都可以用质数乘积的形式表示出来:x = p1^k1+p2^k2...pn^kn一个数n如果可以表示成 n = p1^k1 + p2^k2, 那么它的约数的个数就是 (k1+1)*(k2+1)::k1个p1,可以产生k1个约数,分别是p1^1, p1^2...p1^k1, 同理k2个p2那么这k1个约数与k2个约数分别相乘,又会得到k1*k2个约数总的约数的个数就是 k1*k2+k1+k2+1(还有就是1,也是n的一个约数,不要忘记)

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 using namespace std;
 6
 7 typedef long long LL;
 8 int p[]={2,3,5,7,11,13,17,19,23,29};
 9
10 LL n, ans, cc;
11
12 void dfs(int pos, int cnt, LL sum){    //pos,p数据的索引;cnt,约数的个数;sum,当前反质数的值
13     if(cnt > cc){
14         ans = sum;
15         cc = cnt;
16     }
17     if(cnt == cc && ans > sum)
18          ans = sum;
19     if(pos>=10) return;
20     for(int i=1; ; ++i){
21         sum*=p[pos];
22         if(sum > n) break;
23         dfs(pos+1, cnt*(i+1), sum);
24     }
25 }
26
27 int main(){
28     cin>>n;
29     ans = 0;
30     dfs(0, 1, 1);
31     cout<<ans<<endl;
32     return 0;
33 }

转载于:https://www.cnblogs.com/hujunzheng/p/4415544.html

反质数问题,求不大于n的最大反质数相关推荐

  1. php算法不大于n的质数,php求不大于n的质数

    php求不大于n的质数: 使用循环遍历.当为质数时加入list中public class Test4 { public static void main(String[] args) { Test4 ...

  2. 求不大于n的全部质数(素数 C++)

    题目描述 输入正整数n(n>=2),求不大于n的全部质数 代码 [方法一](定义法直接求) #include <iostream> using namespace std;int m ...

  3. 埃拉托色尼筛法求不大于n的质数序列

    埃拉托色尼筛法求不大于n的质数序列 主要思想: 从2开始,将待选序列中2的倍数全部剔除,在此基础上,将3的倍数全部剔除,同时循环这个过程,到最后,得到的序列就是我们所要求的所有序列 Java代码实现: ...

  4. 相约2008:2008是一个合数,求出此合数最多由多少个最小不同质数和组成, 并按要求从小到大输出这些质数

    提示: 代码存在问题,这里找出 2008 最多由多少个不同的质数和组成,原先的思路是从最小开始入数组,直到总和大于2008,然后开始剔除,但是这种方法不对 这里为了方便考虑,可以试着将 2008 替换 ...

  5. 质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 0和1不是质数 除了0,1,质数以外其他的数叫合数

    题目: 质数判断及质因数分解    质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 0和1不是质数 除了0,1,质数以外其他的数叫合数 代码部分: C++实现 #include ...

  6. python1到1000的质数_python求第1000个质数值的简单示例

    这篇文章主要为大家详细介绍了python求第1000个质数值的简单示例,具有一定的参考价值,可以用来参考一下. 对用python求第1000个质数的值感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌 ...

  7. c语言程序找出500以内的所有素数,c语言求出给定范围内的所有质数

    程序功能: 输入一个整数,要求打印出这个整数以内的所有质数. 程序示例: #include #include #include bool IsPrime(int x) { bool bResult = ...

  8. 计算100以内最大质数和求100以内的质数

    #计算100以内最大质数 for n in range(100,1,-1):#如果n==2时则最大质数为2if n==2:print('100以内最大质数为2')#判断是否为偶数if n%2==0:c ...

  9. 输入两个质数的乘积,求乘数中较大的那个质数

    已知正整数n是两个不同质数的乘积,编程求出其中较大的那个质数. 输入:包含一个正整数n(6≤n≤1000) 输出:包含1个正整数p,即较大的那个质数. 样例: 输入:21 输出:7 分析: 利用百钱买 ...

最新文章

  1. 0基础该如何学Python?这些方法你必须了解
  2. Java 集合类(一)
  3. python 混合整数规划_matlab求解混合整数规划的困惑
  4. HTC与酷派 不是冤家不聚头
  5. Windows Phone 7 MVVM模式通讯方式之实现Command
  6. 135. Leetcode 46. 全排列 (回溯算法-排列问题)
  7. codevs 1230 元素查找
  8. 如何创建sequence
  9. 删除windows7中的“兼容性疑难解答”右键菜单
  10. C++从vector中删除指定元素
  11. C/C++之vector的内存管理和效率
  12. Linux+Tomcat建站笔记(JDK,Mysql,Vsftpd,Iptables等配置)
  13. libuv 原理_Nodejs的运行原理-libuv篇
  14. windows api学习笔记-键盘钩子
  15. centos6.5 安装mono
  16. 高通HAL层之Sensor HAL
  17. Linux下的GCC和Windows下Visual Studio的编译所生成的文件作用
  18. TextBox显示提示信息
  19. windows下qt的环境配置
  20. Ubuntu语言设置英文

热门文章

  1. python运行空白_执行时空白tkinter窗口
  2. 让代码更简洁 和@Autowired说分手, 迎接 @RequiredArgsConstructor注解
  3. (进阶篇)Redis6.2.0 集群 主从复制_搭建_01
  4. Windows环境 下载、安装、使用 RabbitMQ_(入门试炼_第1篇)
  5. React简介及基础用法
  6. 接口的定义与实现(重要)
  7. html-按钮和多选框
  8. java des加密类_java的DES加密解密辅助类
  9. oracle19c连接MySQL_oracle19c的安装和使用navicat连接oracle数据库
  10. pbl和sbl_谈PBL和SBL教学法结合模式