描述 Description
如果一个自然数比所有比它小的自然数的约数个数都要多,那么我们就称这个数为一个反素数。例如,1、2、4、6、12和24都是反素数。
任务:
请写一个程序:
○ 读入一个自然数n;
○ 找出不大于n的最大的反素数;
○ 将结果输出。

输入格式 Input Format
只包含一行,为一个自然数n,1<n<2000000000。

输出格式 Output Format
输出唯一的一个整数——不大于n的最大反素数

样例输入 Sample Input
1000

样例输出 Sample Output
840

时间限制 Time Limitation
1s

注释 Hint
1s

来源 Source
noi导刊2011暑期培训

      通过这个题了解了一下反素数,定义:对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。
       如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。所以,n以内的反质数即为不超过n的约数个数最多的数。

     对于一个大于1正整数n可以分解质因数:n=p1^a1*p2^a2*p3^a3*…*pk^ak,则n的正约数的个数就是(a1+1)(a2+1)(a3+1)…(ak+1) .

     其中a1、a2、a3…ak是p1、p2、p3,…pk的指数。

     所以从小到大枚举质因数,因为小的质因数肯定比大的质数高

     代码如下:

      

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define LL long long
using namespace std;
LL yi[15]={2,3,5,7,11,13,17,19,23,29};
LL n;
LL big,num;
void dfs(LL x,int y,int limit,int z)
{if(x>n)//如果这个数大于n的话退出return;if(num<y)//如果当前最大数的因数个数小于这个,替换
    {big=x;num=y;}if(num==y&&big>x)//如果因数相同,则选小的
    {big=x;}LL temp=x;for(int i=1;i<=limit;i++){temp=temp*yi[z];if(temp>n)return;dfs(temp,y*(i+1),i,z+1);}
}
int main()
{cin>>n;big=0;num=0;dfs(1,1,50,0);cout<<big<<endl;return 0;
}

模板

    

转载于:https://www.cnblogs.com/lcyhaha/p/7400804.html

p1186反素数(模板题)相关推荐

  1. 反素数(高合成数?)

    起源 我在做某题时,想到一个问题,在\(1\)到\(100000\)中,哪个数拥有最多的因子? 在uoj的群问了一下,感谢vfleaking给了我一个完美答案. 传送门 前一千个反素数 一道求反素数的 ...

  2. Java黑皮书课后题第6章:**6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数。编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开

    6.27(反素数)反素数(反转拼写的素数)是指一个非回文素数,将其反转之后也是一个素数.编写程序,显示前100个反素数,每行显示10个,并且数字间用空格隔开 题目 题目描述 破题 代码 题目 题目描述 ...

  3. HDU2521 反素数【因子数量+打表+水题】

    反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. python反素数算法优化_合数

    python中判断一个数是不是质数2020-12-18 16:57:27 首先说明,内容结合了其他人的编程想法 和其他学习平台学习的思路,本人只是将解法记录下来方便自己之后查阅.由于本人学艺不精,如果 ...

  5. HDU2521 反素数【因子数量+打表】

    反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. BZOJ 1053 [HAOI2007]反素数ant

    53: [HAOI2007]反素数ant Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0< ...

  7. 【牛客 - 331G】炫酷数字(反素数打表 或 扩展埃式筛法,结论)

    题干: 小希希望你构造一个最小的正整数,使得其有n个因子. 输入描述: 第一行一个整数T表示数据组数每组数据第一行输入一个正整数n,表示其因子数.n≤1,000,000n≤1,000,000T≤1,0 ...

  8. 【CodeForces - 27E】Number With The Given Amount Of Divisors (数论,数学,反素数)

    题干: Given the number n, find the smallest positive integer which has exactly n divisors. It is guara ...

  9. bzoj1053: [HAOI2007]反素数ant

    51nod有一道类似的题...我至今仍然不会写暴搜!!! #include<cstdio> #include<cstring> #include<iostream> ...

最新文章

  1. python【数据结构与算法】分治算法之大整数乘法
  2. 开发人员能力不足的情况下如何推进敏捷开发?
  3. bootstrap-select采坑
  4. 高并发项目Java是标配?.NET Core要将它拉下“神坛”!
  5. Azure 命令行工具大混战,都是什么,该选哪个?
  6. JSFinder—从js文件中寻找敏感接口和子域名
  7. Bootstrap 不可编辑的控件
  8. msdn 上WPF 的学习地址
  9. 常用CSS代码片段常见css bug
  10. iOS底层探索之Block(五)——Block源码分析(__block 底层都做了什么?)
  11. java vtd-xml_XML解析技术之VTD-XML 简介及代码实例
  12. 【win10专业版】ultraiso如何制作光盘启动盘
  13. Android手机下载liuns系统的Ubuntu教程
  14. 构造c语言的上下文无关文法,正则文法和上下文无关文法
  15. rto净化效率计算公式_设备综合效率计算公式详解
  16. Vue的双向数据绑定
  17. redis+Python实现小型动态IP池的搭建,仅需90行代码
  18. Unity技术手册 - 粒子发射和生命周期内速度子模块
  19. 2020年AR(增强现实)最新发展趋势
  20. 计算机保存图片找不到桌面,保存的图片在桌面但是找不到。怎么办?

热门文章

  1. mysql建表测试_总结MySQL建表、查询优化实用小技巧
  2. 数据库服务器修改地址,数据库服务器修改地址吗
  3. android中gridview实现动态表格,Android--GridView实现动态文字排版
  4. Windows的图形设备接口(GDI)入门 上篇
  5. 论文笔记--基于 FCM 聚类的跨模态人物图像标注方法-2015
  6. 10个受欢迎的英文名
  7. 基于ECharts+百度地图开发散点扩散图
  8. syslog(LOG_ERR, Error: errcode=%d, message=%s, errcode, errmsg);
  9. 图解java_图解 Java 中的数据结构及原理!
  10. SQL那些事儿(十三)--Oracle中varchar与varchar2区别