题目描述: 小C有一个平面! 它发现了平面上的两个点,请你求出求它们之间的欧几里德距离。欧几里德距离定义为连接这两个点的线段的长度。 答案保留两位小数输出。 输入格式: 四个整数,a,b,c,d。坐标为(a,b)与(c,d) 输出格式: 输出这两个点的欧几里德距离。 样例输入: 0 0 3 4 样例输出: 5.00ACcode
时间: 2023-05-26 12:01:59 浏览: 173
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
double a, b, c, d;
cin >> a >> b >> c >> d;
double distance = sqrt(pow(a-c, 2) + pow(b-d, 2));
cout << fixed << setprecision(2) << distance << endl;
return 0;
}
相关问题
2.(进阶题目)请输入a,b两个正整数,用欧几里德算法求这两个数的最大公约数。 (欧几
欧几里德算法(Euclidean algorithm)是一种用于计算两个正整数的最大公约数的方法。
首先,我们输入两个正整数a和b。
接下来,我们用辗转相除法来求最大公约数。具体步骤如下:
1. 若b等于0,则最大公约数就是a,算法结束。
2. 若b不等于0,则进行下一步。
3. 将a除以b,得到商q和余数r。
4. 将b赋值为r,a赋值为b,继续下一轮循环。
重复上述步骤,直到余数r等于0。此时,最大公约数就是b。
下面是一个示例:
输入a=42,b=30
第一轮循环:
a除以b,得商q=1,余数r=12
将b赋值为r,得到新的a=30,b=12
第二轮循环:
a除以b,得商q=2,余数r=6
将b赋值为r,得到新的a=12,b=6
第三轮循环:
a除以b,得商q=2,余数r=0
此时余数为0,所以最大公约数为b=6。
因此,对于输入的a=42和b=30,它们的最大公约数为6。
输入两个正整数m和n,求它们的最大公约数和最小公倍数c语言
可以使用欧几里德算法求解最大公约数,代码如下:
```c
#include <stdio.h>
int gcd(int m, int n) {
int remainder;
while (n != 0) {
remainder = m % n;
m = n;
n = remainder;
}
return m;
}
int lcm(int m, int n) {
return m * n / gcd(m, n);
}
int main() {
int m, n, max, min;
printf("请输入两个正整数m和n:\n");
scanf("%d%d", &m, &n);
max = gcd(m, n);
min = lcm(m, n);
printf("它们的最大公约数为:%d\n", max);
printf("它们的最小公倍数为:%d\n", min);
return 0;
}
```
注意:这里没有对输入是否为正整数进行判断,可以在实际使用时进行添加。