P1131 最小公倍数和最大公约数问题

原创 2016年08月31日 14:34:14

描述

输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。

条件:1.P、Q是正整数
2.要求P、Q以xO为最大公约数,以yO为最小公倍数。

试求,满足条件的所有可能的两个正整数的个数。

格式

输入格式

两个正整数

输出格式

满足条件的所有可能的两个正整数的个数

样例1

样例输入1

3 60

样例输出1

4

求最大公约数算法:

辗转相除法

有两整数a和b:

① a%b得余数c

② 若c=0,则b即为两数的最大公约数

③ 若c≠0,则a=b,b=c,再回去执行①

例如求27和15的最大公约数过程为:

27÷15 余1215÷12余312÷3余0因此,3即为最大公约数


求最小公倍数算法:

最小公倍数=两整数的乘积÷最大公约数

#include<iostream>
using namespace std;

int gcd(int a, int b)//不用管a,b大小关系
{
	int c = a%b;
	while (c)
	{
		a = b;
		b = c;
		c = a%b;
	}
	return b;
}
int lcm(int a, int b)
{
	return a*b / gcd(a, b);
}
int main()
{
	int x0, y0,num;
	while (cin >> x0 >> y0)
	{
		num = 0;
		for (int p = x0; p <= y0;p++)
		for (int q = x0; q <= y0; q++)
		{
			if (gcd(p, q) == x0&&lcm(p, q) == y0)
				num++;
		}
		cout << num << endl;
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

NOIP2001普及组 最大公约数和最小公倍数问题

最大公约数和最小公倍数问题 http://218.5.5.242:9018/JudgeOnline/problem.php?id=1111 时间限制: 1 Sec   内存限制: 128 M...
  • synapse7
  • synapse7
  • 2013年10月24日 23:28
  • 1479

java算法——求最大公约数和最小公倍数

//求最大公约数和最小公倍数 /*求最大公约数方法:辗转相除法 始终用较大数除以较小数,然后用余数代替较大数 整除时的除数就是最大公约数 举例:222 407求最大公约数 222 407(407除...
  • tingzhiyi
  • tingzhiyi
  • 2016年07月28日 20:26
  • 5535

[noip2001普及(初中)组] 第二题《最大公约数和最小公倍数问题》解题报告

题目描述Description 输入二个正整数x0,y0(2 条件:  1.P,Q是正整数 2.要求P,Q以x0为最大公约数,以y0为最小公倍数. 试求:满足条件的所有可能的两个正整数的个数. ...
  • zhaosdfa
  • zhaosdfa
  • 2014年08月26日 21:28
  • 783

求最大公约数和最小公倍数(递归算法及非递归算法)

最近做题目发现一些题目需要求数的最大公约数和最小公倍数,想想最大公约数和最小公倍数平时做数学的时候感觉不是很难,但是突然要编程来实现,却一下子不知所措了,后来看了下别人写的,发现其实也不算特别难。最小...
  • hduzhouli
  • hduzhouli
  • 2014年11月25日 19:59
  • 2040

关于用Java来写最大公约数和最小公倍数的问题详解及代码

对于刚刚接触Java语言的初学者而言,除了“hello world”,比较常见的就是水仙花数、最大公约数、最小公倍数、完数、素数(质数)、一定范围内的奇数和、一定范围内的偶数和等等等等练习,此类练习基...
  • z912167269
  • z912167269
  • 2017年03月05日 18:17
  • 1247

欧几里得算法求解最大公约数和最小公倍数

欧几里得算法求解最大公约数和最小公倍数(C++ 语言)
  • luozhen07
  • luozhen07
  • 2015年07月28日 12:55
  • 1042

oj2003: C语言实验——最小公倍数和最大公约数

问题描述:从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。 作者:何知令 发表时间:2017年2也23日 输入:输入包括一行。 两个以空格分开的正整数。  输出:两个整数...
  • qq_36203090
  • qq_36203090
  • 2017年02月23日 15:48
  • 502

P1131最小公倍数和最大公约数问题

描述 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。 条件:1.P、Q是正整数 2.要求P、Q以xO为最大公约数,以yO为最小...
  • zxdfc
  • zxdfc
  • 2014年03月21日 21:25
  • 564

python最小公倍数与最大公约

m=int(raw_input('please input a integer m')) n=int(raw_input('please input a integer n')) if m>n: m...
  • liyan123hn
  • liyan123hn
  • 2014年08月20日 20:25
  • 2611

穷举法求最大公约数和最小公倍数

穷举法(也叫枚举法),穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数 。①定义1:对两个正整数a,b如果能在区间[a...
  • johnWcheung
  • johnWcheung
  • 2017年05月31日 13:00
  • 987
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:P1131 最小公倍数和最大公约数问题
举报原因:
原因补充:

(最多只允许输入30个字)