P1820 【寻找AP数】
这题程序实现其实并不难,难的是数学的思想及证明,这在真正的比赛考场上其实是不容易想到的
去年的年赛题目也是在往更难的数学思想上靠拢,并不是一味的编程,需要一定的数学基础
这个。。数学性质我再提一下吧,有兴趣的可以自己尝试证一下~~
_性质一_
一个AP数分解质因数后,它的因子必为连续质数
_性质二_
一个AP数分解质因数后,因子越小,指数越大
实际上,我觉得这两个数学性质都蛮好想的,个人感觉不用看证明。
另外,编程时注意以下几点:
1)一个AP数的质因子数不会超过10,不然大于数据范围
2)用long long型变量存储答案,不然会爆
3)指数递减
代码:
#include<cmath>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
long long n,ap,fap;//ap是要输出的答案,fap是答案的质因子数
int mm[]={,,,,,,,,,};//可能的质因子
void dfs(long long num,int fnum,int i,int j){
if(fap<fnum||(fap==fnum&&ap>num)){//更改输出答案的条件
fap=fnum;
ap=num;
}
int t=;
while(t<=j&&num*mm[i]<=n){//直接判断
num*=mm[i];
dfs(num,fnum*(t+),i+,t);
t++;
}
return;
}
int main(){
while(scanf("%d",&n)!=EOF){//多组数据
ap=fap=;//赋初值,不然会错的很惨
dfs(,,,);
cout<<ap<<endl;
}
return ;
}
呐呐,就是这样了哦,新人博客,多多支持一下吧,嘻嘻~~~
P1820 【寻找AP数】的更多相关文章
- P1820 寻找AP数
P1820 寻找AP数两个性质,分解质因数后,连续,且指数递减,dfs就完了 #include <iostream> #include <cstdio> #include &l ...
- 寻找AP数
题目背景 正整数n是无穷的,但其中有些数有神奇的性质,我们给它个名字--AP数. 题目描述 对于一个数字i是AP数的充要条件是所有比它小的数的因数个数都没有i的因数个数多.比如6的因数是1 2 3 6 ...
- 基于visual Studio2013解决面试题之0701寻找丑数
题目
- 九度OJ 1214 寻找丑数【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因 ...
- 笔试算法题(20):寻找丑数 & 打印1到N位的所有的数
出题:将只包含2,3,5的因子的数称为丑数(Ugly Number),要求找到前面1500个丑数: 分析: 解法1:依次判断从1开始的每一个整数,2,3,5是因子则整数必须可以被他们其中的一个整除,如 ...
- 【Python】【demo实验20】【练习实例】【寻找“完数”】
原题: 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 我的代码: #!/usr/bin/python # encodi ...
- 如何使用python在短时间内寻找完数
完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数 ...
- 37.寻找丑数[Ugly numbers]
[题目] 我们把只包含质因子2.3和5的数称作丑数(Ugly Number),例如:2,3,4,5,6,8,9,10,12,15,等,习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第1500个丑 ...
- 【C语言编程练习】5.10寻找水仙数
1. 题目要求 如果一个3位数等于各位数字的立方和,则称这个数为水仙数,例如407=4^3+0^3+7^3.编写一个程序,找出全部的水仙数 2. 题目分析 感觉又和之前的题目大同小异了,先找出解空间, ...
随机推荐
- CA认证和证书
一些概念: PKI:Public Key Infrastructure 签证机构:CA(Certificate Authority) 注册机构:RA(Register Authority) 证书吊销列 ...
- Spring的BeanPostProcessor和BeanFactoryPostProcessor区别
Spring提供了两种后处理bean的扩展接口,分别为BeanPostProcessor和BeanFactoryPostProcessor,这两者在使用上是有所区别的. BeanPostProcess ...
- SiteMesh的简单使用
简介: SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. 它能通过创建一个包装对象,也就是装饰来包裹的对象.尽管它是由Java语言来实现的, ...
- 小程序生成海报 canvas
前言 微信小程序需要生成海报进行朋友圈分享,但是不同的手机会有问题, 然后首先是图片的问题 图片 在模拟器上没有报错,可是真机测试却什么也没画出来. canvas.drawImage 是不支持网络图片 ...
- IPC 进程间通信方式——信号量
信号量 本质上是共享资源的数目,用来控制对共享资源的访问. 用于进程间的互斥和同步 每种共享资源对应一个信号量,为了便于大量共享资源的操作引入了信号量集,可对多对信号量一次性操作.对信号量集中所有的操 ...
- Eclips的JDK更换为1.8
1.Window—Preferences—Java—Compiler—右侧面板设置为1.6 2.Window—Preferences—Java—Installed JREs—右侧面板“Add”本地的1 ...
- Helvetic Coding Contest 2019
题目链接:戳我 小注:其中部分(大括号不换行的)代码是BLUESKY007神仙写的. 咕 CF1184 A1 直接枚举,以根号的时间复杂度判断即可.注意x,y都是正整数. #include<io ...
- 一篇不错的BIO, NIO文章
菜菜的我硬是读了2个小时, 哭了 BIO到NIO源码的一些事儿之BIO https://juejin.im/post/5c2cc075f265da611037298e#heading-3 整体上 BI ...
- java中报错:problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError
今天和往常一样打开项目,竟然报错problem with class file or dependent class; nested exception is java.lang.NoClassDef ...
- element-ui多重下拉列表的使用
template <div class="block"> <span class="demonstration">默认 click 触发 ...