C加加输入两个正整数,输出它们的最大公约数与最小公倍数。提示:采用辗转相除法,用循环语句实现。例如,输入15和6,15除以6,余数是3,然后,刚才的除数现在变为被除数,刚才的余数现在变成除数,6除以3余数是0,循环到此结束。此时的除数3就是它们的最大公约数。最小公倍数等于15*6/3-30。
时间: 2023-05-23 21:01:41 浏览: 61
答案:
```cpp
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "请输入两个正整数:" << endl;
cin >> a >> b;
int m = a, n = b;
while (n != 0) {
int r = m % n;
m = n;
n = r;
}
cout << "最大公约数是:" << m << endl;
cout << "最小公倍数是:" << a * b / m << endl;
return 0;
}
```
注意:这个代码中的语句可以在 C 或 C++ 中使用,并且它在输入不合法时可能会出现问题,但是这已经超出了这个问题的范围。
相关问题
用C加加写出输入两个正整数输出最小公约数
好的,这个问题是数学问题,我可以回答。以下是代码示例:
```
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "请输入两个正整数:" << endl;
cin >> a >> b;
int temp, x, y;
if (a < b) {
temp = a;
a = b;
b = temp;
}
x = a;
y = b;
while (y != 0) {
temp = x % y;
x = y;
y = temp;
}
cout << "最小公约数为:" << x << endl;
return 0;
}
```
希望能够帮助到您!
求两个或三个正整数中的最大数。用带有默认参数的函数实现,用c加加
#include <iostream>
using namespace std;
int maxNum(int a, int b, int c = 0) {
if (c == 0) {
return a > b ? a : b;
} else {
int max1 = a > b ? a : b;
return max1 > c ? max1 : c;
}
}
int main() {
int a, b, c;
cout << "请输入两个或三个正整数,用空格隔开:" << endl;
cin >> a >> b >> c;
int max = maxNum(a, b, c);
cout << "最大数为:" << max << endl;
return 0;
}