"求满足最大公约数和最小公倍数条件的正整数对个数 - C++11实现" \n"本题要求计算满足最大公约数为x,最小公倍数为y的正整数对(p, q)的个数。文章提供C++11实现代码,并优化运行时间,高效解决问题。" \n"输入两个正整数 x,y,求出满足下列条件的p,q 的个数:\n\n p,q是正整数。\n\n要求 p,q以 x 为最大公约数,以 y 为最小公倍数。\n\n试求:满足条件的所有可能的 p,q 的个数。\n\n输入格式\n一行两个正整数 x,y。\n\n输出格式\n一行一个数,表示求出满足条件的 p,q 的个数。\n\n样例\n样例输入 #1\n3 60\n样例输出 #1\n4\nc++11实现\n使运行时间最短内容:#include \nusing namespace std;\n\nint gcd(int a, int b) {\n if (b == 0) {\n return a;\n }\n return gcd(b, a % b);\n}\n\nint lcm(int a, int b) {\n return a * b / gcd(a, b);\n}\n\nint main() {\n int x, y;\n cin >> x >> y;\n \n int count = 0;\n for (int p = x; p <= y; p += x) {\n if (y % p == 0 && gcd(p, y / p) == x) {\n count++;\n }\n }\n \n cout << count << endl;\n \n return 0;\n}

求满足最大公约数和最小公倍数条件的正整数对个数 - C++11实现

原文地址: https://www.cveoy.top/t/topic/pplh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录