luogu P1029 最大公约数和最小公倍数问题
https://www.luogu.org/problem/show?pid=1029
输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数
条件:
1.P,Q是正整数
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
最大公约数是x0,所以设这两个数为x0*k1 , x0*k2 (其中k1,k2互质)。
由题意得:x0 k1 k2 = y0 (想想对吧?),所以 k1*k2 = y0 / x0 (当然如果y0 / x0 除不尽的话 , 呵呵 ,当然没答案啦(输出0)**)
然后只要穷举k1 , k2 的值,因为 k1*k2 = y0 / x0 是轮换式 , 所以不妨设 k1 < k2 , 然后从1 ~ floor(sqrt(y0 / x0))穷举
如果k1, k2 互质 , 那么就找到 2 组解了 , 所以 sum += 2 。 这样就 OK 啦!!! - - - - - -
#include<bits/stdc++.h>
using namespace std;
int x,y;
int gcd(int a,int b)
{
return (b==)?a : gcd(b,a%b);
} int main ()
{
while (cin >> x >> y){
int sum = ;
if(y % x !=) return *printf("0\n");
int cnt = y/x;
for(int i=;i*i<cnt;i++)
{
if(cnt%i== && gcd(i,cnt/i)==)
sum+= ;
}
cout<< sum <<endl;
}
}
luogu P1029 最大公约数和最小公倍数问题的更多相关文章
- [洛谷P1029]最大公约数与最小公倍数问题 题解(辗转相除法求GCD)
[洛谷P1029]最大公约数与最小公倍数问题 Description 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P, ...
- 洛谷——P1029 最大公约数和最小公倍数问题
P1029 最大公约数和最小公倍数问题 题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1 ...
- 【数论】P1029 最大公约数和最小公倍数问题
题目链接 P1029 最大公约数和最小公倍数问题 思路 如果有两个数a和b,他们的gcd(a,b)和lcm(a,b)的乘积就等于ab. 也就是: ab=gcd(a,b)*lcm(a,b) 那么,接下来 ...
- 洛谷P1029 最大公约数和最小公倍数问题 [2017年6月计划 数论02]
P1029 最大公约数和最小公倍数问题 题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1 ...
- P1029最大公约数和最小公倍数
P1029最大公约数和最小公倍数 #include <iostream> #include <cmath> #include <algorithm> #define ...
- 洛谷P1029 最大公约数和最小公倍数问题 题解
题目链接:https://www.luogu.com.cn/problem/P1029 题目描述 输入 \(2\) 个正整数 \(x_0,y_0(2 \le x_0 \lt 100000,2 \le ...
- P1029 最大公约数和最小公倍数问题(思维题)
题目描述 输入22个正整数x_0,y_0(2 \le x_0<100000,2 \le y_0<=1000000)x0,y0(2≤x0<100000,2≤y0<=100 ...
- 洛谷 P1029 最大公约数和最小公倍数问题 Label:Water&&非学习区警告
题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为 ...
- 洛谷P1029 最大公约数和最小公倍数问题
题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为 ...
随机推荐
- 【Android N 7.1.1】 屏幕亮和灭的处理地方
frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java private vo ...
- TextureMerger1.6.6 二:Sprite Sheet的制作和使用
本随笔记录下Sprite Sheet的制作和使用 Sprite Sheet主要用于将零碎的小图合并成一张整图.减少加载图片时http的请求次数. 1 打开TextureMerger,选择Sprite ...
- 【Android】Android实现自定义带文字和图片的Button
在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就是利用系统自带的Button来实现,这种方式代码量最 ...
- 【Android】Android中不同手机分辨率适配问题
在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果.导致这个现象产生的原因是不同手机的分辨率不同.在android sdk提供的帮助文档中,我们可以看到各种手机的分辨率和对应的屏大小.QV ...
- CentOS7安装步骤详解
准备环境 1.虚拟机 VMware Workstation 2.Centos7-64位安装包 ( CentOS-6.7-x86_64-bin-DVD1.iso ) 开始安装 进入安装初始化界面 ...
- tomcat启动时常见错误问题集锦
1:环境变量 问题:The JAVA_HOME environment variable is not defined This environment variable is needed to r ...
- Eclipse git pull 报Nothing to fetch 异常原因
eclipse git pull 报错 // 使用这个配置就可以正常pull了 [core] symlinks = false repositoryform ...
- 南京网络赛E-AC Challenge【状压dp】
Dlsj is competing in a contest with n (0 < n \le 20)n(0<n≤20) problems. And he knows the answe ...
- ES6基础教程(整理自阮一峰)
------------------------ECMAScript 6 简介------------------------ECMAScript 和 JavaScript 的关系是,前者是后者的规格 ...
- mrbs - 初识
一.mrbs mrbs:(meeting room booking system)会议室预订系统 二.效果 三.models from django.db import models # Create ...