hdu5108枚举因子求最小的m
题意:
给一个n(<=10Y),然后让找到一个最小的m使得n/m是一个素数.
思路:
先用sqrt(n)的时间把所有的因子都求出来,然后在排序,枚举,就行了,这个题目这么做的话,要是仔细算一下时间复杂度估计会跪,但是题目说大数据不多,这种说法的前提下一般临街的时间复杂度都要试一试,还有就是在判断素数和枚举的时候写的别太挫,不然很可能会超时。
#include<algorithm>
#include<stdio.h>
#include<math.h>
using namespace std;
int YZ[100000] ,yzs;
void DB(int now)
{
yzs = 0;
int max = (int)sqrt(now);
for(int i = 1 ;i <= max ;i ++)
{
if(now % i == 0)
{
YZ[++yzs] = i;
YZ[++yzs] = now / i;
}
}
if(max * max == now)
yzs --;
}
bool jude(int now)
{
int max = (int)sqrt(now);
for(int i = 2 ;i <= max ;i ++)
if(now % i == 0) return 0;
return 1;
}
int main ()
{
int n ,i;
while(~scanf("%d" ,&n))
{
if(n <= 1)
{
printf("0\n");
continue;
}
DB(n);
sort(YZ + 1 ,YZ + yzs + 1);
int mk = 0;
for(i = 1 ;i <= yzs && !mk;i ++)
{
int now = n / YZ[i];
if(jude(now))
{
printf("%d\n" ,YZ[i]);
mk = 1;
}
}
if(!mk) printf("0\n");
}
return 0;
}
hdu5108枚举因子求最小的m相关推荐
- UVA11889(给出lcm(A,B)=C中的AC求最小的B)
题意: 给出最小公倍数LCM(A,B) = C中的A,C求最小的B. 思路: lcm=(a*b)/gcd,把等号两侧同时除以a得到lcm/a=b/gcd左侧是已知的,右侧的gcd ...
- 关于扩展欧几里得求最小正整数解
关于扩展欧几里得求最小正整数解 //扩展欧几里得算法求最小正整数解 这里讲的是欧几里得,不是那个洗澡测浮力的阿基米德 . 什么是欧几里得算法: 扩展欧几里得算法是用来求解一类特定的不定方程的,形如ax ...
- acm -(并查集、启发式合并、gcd、枚举因子)2020 China Collegiate Programming Contest Changchun Onsite K. Ragdoll
传送门 本题考虑直接对每个iii求出所有满足ij=gcd(i,j)i^j=gcd(i,j)ij=gcd(i,j)的jjj,然后存在ggg数组中,对于查询修改操作维护一个并查集即可,合并的时候采用启发式 ...
- 2019 CCPC秦皇岛 J 题 MUV LUV EXTRA【KMP 求最小循环节】
题意: 原题意是给出一个有理数的前一部分,求这个有理数的无限循环部分是什么.有一个值来评估猜的准确度.转换一下就成了下面的题意: 给出一个字符串s,有某一个子串,设p为该子串在s的某个后缀中的匹配长度 ...
- 试除法求最小N个素数之二
Trial division 试除法求最小N个素数是一个经典的算法. 这个算法不同于前一个版本<试除法求最小N个素数>的方法,也是一个比较快速的方法. 这个算法考虑以下两点: 1.偶数中只 ...
- 一种更简单的求最小平方均值函数(MSE)的方法 -- 梯度下降法。
在上一篇博客中我们通过解析解法算出来了 但是上面公式中的对称阵是N维乘以N维的,复杂度为O(n*n*n),虽然很精准但是很慢. 为此我们引入梯度下降法 我们首先大致画出MSE的图像,MSE是一个开口向 ...
- hdu3491 最小点割集(无向图求最小点割集通用方法)
无向图最小点割集,确定起点S,终点T.每个点都有自己的点权值vi,求最小点权和的割点集,使得S无法到达T. 解法:将每个点拆分为两个点v和v',之间的权值为vi(单向边),将原图中的每条边赋权值为IN ...
- 求最小码距 (10 分)
求最小码距 (10 分) 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述 计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA ...
- 7-3 求最小码距 (10 分)
计算机组成原理老师给小明出了一道求最小码距的题目, 有以下由1个字节组成的合法编码集{0xA9,0xC7,0xDF,0xBE},该编码集的最小码距是__ 小明知道码距,也知道最小码距的概念.码距是指 ...
最新文章
- 《Adobe Premiere Pro CC经典教程(彩色版)》——2.2 建立项目
- 【bzoj5085】最大(二分+乱搞)
- 宁波大学计算机网络,宁波大学计算机网络TCP与UDP题目
- C和C++混合编程(__cplusplus使用)
- 11、进入保护模式-V
- 第三章:使用email-ext替换Jenkins的默认邮件通知
- 一个 8 岁的“前端老人”
- SqlServer中 SET DATEFIRST
- Dubbo视频教程《基于Dubbo的分布式系统架构视频教程》
- 女孩都喜欢什么类型的男生?
- 图片怎么缩小到300k?如何将图片缩小到300k以内?
- 高并发场景下秒杀系统的设计思路
- 【报错解决】为Blender构建Python模块
- pandas.melt()使用介绍(宽表变长表)
- 假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10. 试为这8个字母设计赫夫曼编码.
- 【Try to Hack】john哈希破解工具
- java模糊查询代码_Java模糊查询方法详解
- Dozer 时间转换问题
- 8.数字魔方问题:在3×3的棋盘上摆放1~9数字,使每行、每列及对角线数字之和均相等。
- 公安警务指挥一张图三维电子沙盘可视化地理信息大数据系统
热门文章
- CentOS6.3 下启动Oracle service和listener
- 那些年,我在西安的“遇见”(一)
- TOMCAT startup.bat
- 安装Synchronization service (Project Server 2007) 时出现 MSMQ 错误的解决
- [导入]日志 20071211(WCF,实验室产品)
- .net Redis使用公共方法引用CSRedisCore
- javaee_SSH
- HDU 1711 Number Sequence(算法验证)
- 使用GruntJS构建Web程序 (1)
- Redis_基本类型介绍和指令___2