HDU4497——GCD and LCM
这个题目挺不错的,看到是通化邀请赛的题目,是一个很综合的数论题目。
是这样的,给你三个数的GCD和LCM,现在要你求出这三个数有多少种可能的情况。
对于是否存在这个问题,直接看 LCM%GCD是否为0,如果不为0的话,就没有满足条件的数哦,反之一定有。
接下来问题等价于求三个数GCD为1,LCM为LCM/GCD的种类数了。
设这个商为X。 首先我们可以把X因数分解成X=(p1*x1)*(p2*x2)*……*(pn*xn);
单独拿出一个素数进行讨论,如果要设ABC分别为满足情况的三个数,那么Xa1,Xa2,Xa3中间必定有一个数为0,否则GCD就不为1了,同时必定有一个最大的为x1
这样我们可以得出三大种类可能的情况,分别问(x1,0,0 ),(x1,x1,0)和(x1,(1-x1-1)之间,0)
这三个可能的情况分别为3,3,6* (x1-1),注意第二和第三种情况不能合并,想想为什么?因为相同的元素的个数不同,排列也不同。
这样我们就知道对于单个分解出来的因子对于种类数的贡献值为6*xi,由于每个因子之间是互不影响的,所以用的是乘法原理。
其他的就没什么了,可以迅速A掉。
另外说明一下:本题的数据太水了,理论上说我这种求质因子的方法是会超时的。想想为什么?
#include <cstdio>
using namespace std; void out(int x)
{
int ans=,tep;
for (int i=; i<=x; i++)
{
if (x%i>) continue;
tep=;
while (x%i==) tep++,x/=i;
ans*=*tep;
}
printf("%d\n",ans);
} int main()
{
int t,G,L;
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&G,&L);
if (!(L%G)) out(L/G); else printf("0\n");
}
return ;
}
HDU4497——GCD and LCM的更多相关文章
- HDU4497 GCD and LCM(数论,质因子分解)
		
HDU4497 GCD and LCM 如果 \(G \% L != 0\) ,那么输出 \(0\) . 否则我们有 \(L/G=(p_1^{r_1})\cdot(p_2^{r_2})\cdot(p_ ...
 - hdu4497 GCD and LCM
		
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total S ...
 - hdu4497 GCD and LCM ——素数分解+计数
		
link:http://acm.hdu.edu.cn/showproblem.php?pid=4497 如果G%L != 0,说明一定无解. 把K = G / L质数分解,G / L = p1^t1 ...
 - HDOJ 4497 GCD and LCM
		
组合数学 GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...
 - hdu 4497 GCD and LCM 数学
		
GCD and LCM Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4 ...
 - GCD 与 LCM UVA - 11388
		
题目链接: https://cn.vjudge.net/problem/23709/origin 本题其实有坑 数据大小太大, 2的32次方,故而一定是取巧的算法,暴力不可能过的 思路是最大公因数的倍 ...
 - 简单数论总结1——gcd与lcm
		
并不重要的前言 最近学习了一些数论知识,但是自己都不懂自己到底学了些什么qwq,在这里把知识一并总结起来. 也不是很难的gcd和lcm 显而易见的结论: 为什么呢? 根据唯一分解定理: a和b都可被分 ...
 - poj 2429 GCD & LCM Inverse 【java】+【数学】
		
GCD & LCM Inverse Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9928 Accepted: ...
 - HDU 4497 GCD and LCM (合数分解)
		
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
 
随机推荐
- 20155232 实验四 Android程序设计
			
20155232 实验四 Android程序设计 一.实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握 ...
 - 20155234 实验三 敏捷开发与XP实践
			
20155234 实验三 敏捷开发与XP实践 实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验步骤 (一)敏捷开发与XP 敏捷开发(Agile Development)是一种以人为核心.迭 ...
 - 20155308 2016-2017-2《Java程序设计》课程总结
			
20155308 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:回答"我专业吗.我的老师.师生关系.代码问题"四个问题. 预备作业2 ...
 - 20155322 2016-2017-2 《Java程序设计》 第一周学习总结
			
20155322 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习内容的主要是: 一.浏览教材,根据自己的理解每章提出一个问题. 在浏览教材后,我提 ...
 - Microsoft .NET Framework 4 安装 1603错误的解决
			
首先找到 C:\Windows\SoftwareDistribution\Download"这个文件夹,把里面的东西全删除了,然后把你更新失败的 NET Framework 4卸载了,然后 ...
 - 安装centos minimal 版本后的网络配置(linux)
			
1.修改网卡配置文件 2.重启网络服务 3.测试网络
 - 一起来做chrome扩展《页面右键菜单》
			
本文主要内容 contextMenus的设置 打开权限 创建菜单 点击菜单 background script向content script发送消息 1. contextMenus的设置 1.1 打开 ...
 - tomcat 部署项目到服务器
			
参考博客,我选了一种最简单的方法来部署项目. 在tomcat 目录下 的 conf\Catalina\localhost 目录中,新建一个 ' 项目名.xml ' 文件,名字用项目名表示, ...
 - JY播放器【QQ音乐破解下载】
			
今天给大家带来一款神器----JY播放器.可以直接下载QQ音乐的歌曲. 目前已经支持平台(蜻蜓FM.喜马拉雅FM.网易云音乐.QQ音乐) 使用方法: 在网页打开QQ音乐网站找到你要听的歌曲或歌单.复制 ...
 - idea scala 报 with UTF-8 Please try specifying another one using the -encoding option
			
现象如下图, 代码里有汉字,执行代码报错,说编码格式不对, 修改方式如上面,将右下角的编码格式修改成 u8即可.