请用C或C++语言实现三到四个功能并写出算法
时间: 2024-03-18 21:42:41 浏览: 62
以下是用C++语言实现的三个功能及其算法。
1. 计算两个数的最大公约数
算法:欧几里得算法
```c++
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
2. 判断一个数是否为素数
算法:试除法
```c++
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
```
3. 冒泡排序
算法:比较相邻的元素,如果第一个比第二个大,就交换它们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这样一趟过去后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上述步骤,直到没有任何一对数字需要比较。
```c++
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
}
```
阅读全文