东北石油大学王跃萍辗转相除法求最大公约数
时间: 2023-11-26 16:48:51 浏览: 114
以下是东北石油大学王跃萍老师讲解的辗转相除法求最大公约数的Python实现:
```python
def gcd(a, b):
if a < b:
a, b = b, a
while b != 0:
r = a % b
a, b = b, r
return a
```
其中,a和b为要求最大公约数的两个数,r为a除以b的余数。该函数首先将a和b中较大的数赋值给a,较小的数赋值给b,然后进行辗转相除,直到b等于0为止,此时a就是原来两个数的最大公约数。
相关问题
东北石油大学王跃萍辗转相除法求最大公约数C语言
以下是王跃萍辗转相除法求最大公约数的C语言代码:
```c
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
int r = 0;
printf("请输入a,b的值:");
scanf("%d%d", &a, &b);
while (a % b) {
r = a % b;
a = b;
b = r;
}
printf("两个数的最大公约数是:%d\n", b);
return 0;
}
```
7-5 顺序法排序 分数 20 作者 王跃萍 单位 东北石油大学 c语言
顺序法排序是一种简单的排序算法,也称为冒泡排序或简单交换排序。它的基本思想是通过重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换,也就是说该数列已经排序完成。
以下是一个使用C语言实现的顺序法排序的示例代码:
```c
#include <stdio.h>
// 顺序法排序函数
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换 arr[j] 和 arr[j+1]
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
// 打印数组函数
void printArray(int arr[], int size) {
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
printf("排序前的数组: \n");
printArray(arr, n);
bubbleSort(arr, n);
printf("排序后的数组: \n");
printArray(arr, n);
return 0;
}
```
在这个示例中,`bubbleSort`函数实现了顺序法排序算法,`printArray`函数用于打印数组。`main`函数中,我们定义了一个数组并调用了`bubbleSort`函数进行排序,最后打印出排序后的数组。
阅读全文
相关推荐
















