P1131 最小公倍数和最大公约数问题
2016-08-31 14:34
274 查看
描述
输入二个正整数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; }
相关文章推荐
- Vijos P1131 最小公倍数和最大公约数问题【数学推理】
- vijos P1131 最小公倍数和最大公约数问题 题解
- 最大公约数和最小公倍数问题
- 最小公倍数与最大公约数问题(NOIP竞赛原题)
- 8.最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- c++上机作业7 项目二 最大公约数 最小公倍数问题 特殊三位数问题 素数数组问题
- 【数论】【最大公约数】【枚举约数】CODEVS 1012 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
- 最大公约数和最小公倍数问题(天梯)
- 8.最大公约数和最小公倍数问题
- 8.最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数,最小公倍数,素数等问题
- 最大公约数和最小公倍数问题
- 2.最大公约数和最小公倍数问题
- 求解最大公约数和最小公倍数问题
- Java:多重循环for、while、do-while(简单判断是否是四位整数、1-100累加,水仙花、最大公约数。最小公倍数、完数、输入任意数计算每位数之和、弹力球问题)
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题 2001年NOIP全国联赛普及组
- 最大公约数和最小公倍数问题