Advertisement

NOI 2.7.8784 C++解答

阅读量:

NOI 2.7.8784 最大公约数和最小公倍数问题 题解(C++)

题目

8784:最大公约数和最小公倍数问题

程序运行时间限制为1秒(约1×1e3毫秒),内存限制为64KB(即6.5536×1e4KB)。该程序的功能是读取两个正整数x₀(范围在2至99,999之间)和y₀(范围在2至1, 万之间),并统计满足以下条件的所有有序对(p,q)的数量:

条件:

1.P,A是正整数

2.要求P,Q以x0为最大公约数,以y0为最小公倍数。

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

一行数据包含两个正整数x₀和y₀之间通过一个空格分隔。
问题要求计算并输出满足特定条件的结果总数。
具体来说:
当输入为3 60时,
对应的P与Q值分别为:
3 60
15 12
12 15
60 3
因此满足条件的不同P和Q组合共有4种情况。

思路

首先必须明确如何计算最大公约数与最小公倍数, 然后逐一列举即可完成任务.

代码

复制代码
    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int a, int b){
    int da = max(a,b);
    int xiao = min(a,b);
    if(da % xiao == 0){
    	r

全部评论 (0)

还没有任何评论哟~