当前位置: 首页 > news >正文

[BZOJ1053][HAOI2007]反素数ant

1053: [HAOI2007]反素数ant

Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 3444  Solved: 2014 [Submit][Status][Discuss]

Description

 

  对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 0<i<x
,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求出不超过N的最大的反质数么

Input

  一个数N(1<=N<=2,000,000,000)。

Output

  不超过N的最大的反质数。

Sample Input

1000

Sample Output

840
 
要求的就是范围内最小的那个因数最多的数
对于一个整数$x$,可以唯一分解为 $x=p_{1}^{\alpha_{1}}*p_{2}^{\alpha_{2}}*\cdots*p_{n}^{\alpha_{n}}$ 的形式,其中$p$均为质数
那么它的因数个数为$(\alpha_{1}+1)*(\alpha_{2}+1)*\cdots*(\alpha_{n}+1)$,因为每个质数可以选择$\alpha+1$次,乘法原理
又因为要求的是最小,那么显然$p$是从$2$开始的连续质数,且$\alpha$单调不增,然后搜索即可
#include <iostream>
using namespace std;
typedef long long ll;
ll pri[] = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23};
int cnt[10] = {0};
ll n, ans = 2, ansnum;
void work(int w, ll num, ll tot){
    if(w > 9) return;
    if(tot > ans){
        ans = tot;
        ansnum = num;
    }
    if(tot == ans && ansnum > num) ansnum = num;
    ll t = 1;
    for(int i = 1; i <= cnt[w - 1]; i++){
        t *= pri[w];    
        if(num * t > n) return;
        cnt[w] = i;
        work(w + 1, num * t, tot * (i + 1));
    }
}
int main(){
    cin >> n;
    cnt[0] = 31;
    work(1, 1, 1);
    cout << ansnum << endl;
    return 0;
}

 

转载于:https://www.cnblogs.com/ruoruoruo/p/7448739.html

相关文章:

  • git 放弃本地修改 强制更新
  • 计算限制的异步操作
  • 各大型邮箱smtp服务器及端口收集: SMTP
  • spark-2.2.0-bin-hadoop2.6和spark-1.6.1-bin-hadoop2.6发行包自带案例全面详解(java、python、r和scala)之环境准备(图文详解)...
  • qt sql多重条件查询简便方法
  • 【Git】Git常见错误
  • sequelizejs中文文档(二)Model定义
  • Spring在JSP页面使用ServletContext
  • iOS,点击button拨打电话
  • springboot使用jpa,删除功能sql报错解决
  • Hadoop技术内幕之前奏Ant
  • 对语文的新看法
  • 8.1 mnist_soft,TensorFlow构建回归模型
  • MQTT服务器搭建--Mosquitto用户名密码配置
  • Kyligence Analytics Platform Enterprise
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • C学习-枚举(九)
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES6 学习笔记(一)let,const和解构赋值
  • gcc介绍及安装
  • java正则表式的使用
  • laravel 用artisan创建自己的模板
  • LeetCode算法系列_0891_子序列宽度之和
  • Python 基础起步 (十) 什么叫函数?
  • SpringCloud集成分布式事务LCN (一)
  • VuePress 静态网站生成
  • webpack+react项目初体验——记录我的webpack环境配置
  • 观察者模式实现非直接耦合
  • 前端面试之CSS3新特性
  • 软件开发学习的5大技巧,你知道吗?
  • 山寨一个 Promise
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 源码安装memcached和php memcache扩展
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 2017年360最后一道编程题
  • ​ArcGIS Pro 如何批量删除字段
  • (Java数据结构)ArrayList
  • (JS基础)String 类型
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (六)激光线扫描-三维重建
  • (南京观海微电子)——COF介绍
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)基于IDEA的JAVA基础10
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • .jks文件(JAVA KeyStore)
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET 药厂业务系统 CPU爆高分析
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 的字符串暂存池
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET正则基础之——正则委托
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法