【具体要求】 如果在已知两个正整数 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++组编程题样题(八级)