反素数ant(数学题)
1053: [HAOI2007]反素数ant
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 2872 Solved: 1639
[Submit][Status][Discuss]
Description
Input
一个数N(1<=N<=2,000,000,000)。
Output
不超过N的最大的反质数。
Sample Input
1000
Sample Output
840
//这个数学题有意思,本来求约数个数,就是一个数的质数个数乘啊乘的,不难,
举个例子,60 = 2*2*3*5 根据排列组合,约数个数就是 3*2*2=12 (2 可以有 0,1,2 三种选择,同理 3 有 0,1 两种选择,5 也是 2 种)
但是求范围内的最大的反质数,数据太大,循环太慢,
就只能逆向思维一下了,用质数去组合
质数必定会连续,因为不连续 一定有更小的数约数个数与这个数相等,例如 a = 2*3*7 , b = 2*3*5 约数个数相同,但 a 更大 ,所以 a 一定不是 反质数
懂了就简单了
0ms
#include <stdio.h>
typedef long long LL; const int p[]={,,,,,,,,,,,};//全部有一个就大于20E这个数据范围了
LL n,ans,m_yue; void dfs(int dep,LL num,LL yue)
{
if (dep>=) return;
if (yue>m_yue)
{
ans=num;
m_yue=yue;
//printf("??? %lld\n",ans);
}
if (m_yue==yue&&num<ans) ans=num;
for (int i=;i<=;i++)//i 代表多少次方
{
if (num*p[dep]>n) break;
dfs(dep+,num*=p[dep],yue*(i+));
}
} int main()
{
scanf("%lld",&n);
ans=,m_yue=;
dfs(,,);//深度,数字,约数个数
printf("%lld\n",ans);
return ;
}
反素数ant(数学题)的更多相关文章
- 【BZOJ】【1053】【HAOI2007】反素数ant
搜索 经典搜索题目(其实是蒟蒻只会搜……vfleaking好像有更优秀的做法?) 枚举质数的幂,其实深度没多大……因为$2^32$就超过N了……而且质数不能取的太大,所以不会爆…… /******** ...
- BZOJ 1053: [HAOI2007]反素数ant dfs
1053: [HAOI2007]反素数ant 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1053 Description 对于任何正整 ...
- bzoj1053: [HAOI2007]反素数ant
51nod有一道类似的题...我至今仍然不会写暴搜!!! #include<cstdio> #include<cstring> #include<iostream> ...
- 【BZOJ】1053: [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Description: g(x)表示x的约数个数,反素数:对于任意的i (i < x),均有g(i) < g(x),则x为反素数:现在输入不 ...
- bzoj 1053: [HAOI2007]反素数ant 搜索
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1497 Solved: 821[Submit][Sta ...
- BZOJ 1053 [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1948 Solved: 1094[Submit][St ...
- 1053: [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3480 Solved: 2036[Submit][St ...
- 【BZOJ1053】 反素数ant
BZOJ1053 反素数ant 我们先考虑唯一分解定理求出约数个数: \(x=a_1^{p_1}a_2^{p_2}a_3^{p_3}...a_k^{p_k}\) 然后\(num=\Pi_{i=1}^k ...
- 【BZOJ 1053】 1053: [HAOI2007]反素数ant (反素数)
1053: [HAOI2007]反素数ant Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0&l ...
随机推荐
- OpenGL变换【转】
http://www.cnblogs.com/hefee/p/3811099.html OpenGL变换 概述 OpenGL变换矩阵 实例:GL_MODELVIEW矩阵 实例:GL_PROJECTIO ...
- Java程序中的Log文件配置
log4j.properties文件 log4j.rootLogger=info,stdout,logfile #stdout log4j.appender.stdout=org.apache.log ...
- D3学习之:D3.js中的12中地图投影方式
特别感谢:1.[张天旭]的D3API汉化说明.已被引用到官方站点: 2.[馒头华华]提供的ourd3js.com上提供的学习系列教程,让我们这些新人起码有了一个方向. 不得不说,学习国外的新技术真的是 ...
- DataSet之增删改查操作(DataGridView绑定)
DataSet数据集,数据缓存在客户端内存中,支持断开式连接.DataGridView控件绑定DataSet时,它自动的改变的DS的行的状态,而且在做增删改查的时候,可以借助SqlCommandBui ...
- Angular 学习笔记——filter
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- Android学习(二十二)ContentMenu上下文菜单
一.上下问菜单 在某个菜单项上长按,会弹出一个菜单,这个就是上下文菜单.有点类似与Windows系统中的右键菜单. 二.上下文菜单的内容 1.标题 2.图标 3.菜单项 4.对应的菜单事件 三.Opt ...
- react-native + teaset 实现 Tabbar
1.代码 src/pages/MainPage/index.js /** * 主页面 */ import React, {Component} from 'react'; import { BackH ...
- 【最后的冲刺】android中excel表的导入和数据处理
[最后的冲刺]android中excel表的导入和数据处理 ——学校课程的查询和修改 1.编写 The Class类把课程表courses.db当做一个实体类,hashcode和equals这两个类是 ...
- Linux学习笔记(三):系统执行级与执行级的切换
1.Linux系统与其它的操作系统不同,它设有执行级别.该执行级指定操作系统所处的状态.Linux系统在不论什么时候都执行于某个执行级上,且在不同的执行级上执行的程序和服务都不同,所要完毕的工作和所要 ...
- asp.net core 系列之Response caching(1)
这篇文章简单的讲解了response caching: 讲解了cache-control,及对其中的头和值的作用,及设置来控制response caching; 简单的罗列了其他的缓存技术:In-me ...