cogs 693. Antiprime数
来源:互联网 发布:耽美小说的软件 编辑:程序博客网 时间:2024/05/21 08:00
- 条件
- 传送门
- 任务
- 输入 antipin
- 输出antipout
- 样例输入 antipin
- 样例输出antipout
- 题解
- 运行情况
条件:
输入文件:antip.in 输出文件:antip.out
时间限制:1 s 内存限制:128 MB
注释:
传送门:
http://cogs.pro/cogs/problem/problem.php?pid=693
如果一个自然数n(n>=1),满足所有小于n的自然数(>=1)的约数个数都小于n的约数个数,则n是一个Antiprime数。譬如:1, 2, 4, 6, 12, 24。
任务:
编一个程序:
1、 从antip.in 中读入自然数n。
2、 计算不大于n的最大Antiprime数。
3、将结果输出到antip.out中。
输入( antip.in):
输入文件antip.in只有一个整数,n(1 <= n <= 2 000 000 000)。
输出(antip.out):
输出文件antip.out也只包含一个整数,即不大于n的最大Antiprime数。
样例输入( antip.in):
1000
样例输出(antip.out):
840
题解:
如果一个数X是反质数,则它的约数的个数大于所有Y(X>Y)的约数的个数。也就是说反质数是最小的具有相同个约数的数。寻找不大于N的最大反质数问题可以转化成,寻找不大于N的约数个数最多的最小正整数。
求一个数的约数个数可以用乘法原理,例如
设
A的约数个数
A的所有约数和
代码:
#include<cstdio>#include<cmath>using namespace std;typedef long long LL;LL n,maxx,ans;LL num[12]={0,2,3,5,7,11,13,17,19,21,23};void findd(LL now,LL tot,LL u,LL v) { if(maxx<tot || (tot==maxx && ans>now)) { maxx=tot;ans=now; } if(v>=11) return; for(LL i=1;i<=u;i++) { now*=num[v]; if(now>n) return; findd(now,tot*(1+i),i,v+1); }}int main() { freopen("antip.in","r",stdin); freopen("antip.out","w",stdout); scanf("%lld",&n); findd(1,1,500,1); printf("%lld",ans); return 0;}
运行情况:
排名还不错哦。。。
0 0
- cogs 693. Antiprime数
- [Cogs]-693-Antiprime数
- COGS 693 Antiprime数
- 【SCOI2003】巴蜀1088 Antiprime数
- COGS 1190 最大数
- COGS 1844 最大数
- COGS 2490. 数页码
- cogs 99 查数
- COGS 1260 三元数对
- smoj 1069 Antiprime数 (http://218.5.241.13:8060/oj/showProblem.jsp?pid=1069)
- 【搜索】【cogs 193】最多因子数
- Cogs 1844. [JSOI2008]最大数maxnumber
- Antiprime解题报告
- 【COGS 930】找第k小的数
- cogs 734. [网络流24题] 方格取数问题
- COGS 734. [网络流24题] 方格取数问题
- COGS-930-找第k小的数-HNOI2012-主席树
- NOI 2007 社交网络 (COGS 15) Floyd求最短路及方案数
- 【ZT】从安装到做项目一步步教你ROS学习入门
- 转载:Java CAS原理分析
- Java事务之二——失败的案例
- keil4如何将数组清空
- 170402快速排序
- cogs 693. Antiprime数
- 蓝桥杯 操作格子(单点更新)
- 题解——Leetcode 11.Container With Most Water 难度:Medium
- ssh框架搭建小结2
- Android 相机篇(五)--自定义相机
- lcs 模板
- 蓝桥杯搭积木
- Java事务之三——丑陋的案例
- vb.net 教程 5-11 线条样式