2348 - 最大公约数问题

题目描述

【具体要求】 如果在已知两个正整数 x 和 y 的情况下,我们可以通过计算得到 x 和 y 唯一的最大公约数 a 和唯一的最小公倍数 b,但是反之,如果我们已知最大公约数 a 和最小公倍数 b,我们可能会得到多组正整数 x、y。

现在要求编写一个程序,输入 a 和 b,直接输出有多少组数是以 a 为最大公约数和以 b 为最小公倍数。

例如:以 3 为最大公约数,60 为最小公倍数,能得到(3,60)、(12,15)、(15,12)、(60,3)共四组 x、y。

输入

输入两个正整数 a 和 b(1 < a,b < 100),中间用空格隔开,分别表示最大公约数和最小公倍数。

输出

输出一个正整数,表示有多少组符合要求的 x、y。

样例

输入

3 60 

输出

4 
说明

本题共有五组测试数据,每通过一组测试数据得 10 分,满分 50 分。

蓝桥等考 C++组单选题样题(八级) 
阅读以下程序片段,判断程序最终会输出( )次字符‘A’。
int a = 7, b = 13, c = 20; 
while(a <= 20 && c >= 10)
{ 
cout << "A"; 
if(a == b || c == b) break; 
a++; 
c--; 
}
A 6 
B 7 
C 10 
D 13 
【答案】B 
【解析】该程序会在 while 循环内部 if 条件判断成立时提前跳出循环,当 a == b 时循环输出了 7 次字符 A,所以选 B。
来源

蓝桥等考 C++组编程题样题(八级)

标签
题目参数
时间限制 1 秒
内存限制 256 MB
提交次数 478
通过人数 267
金币数量 1 枚
难度 基础


上一题 下一题