东北石油大学王跃萍辗转相除法求最大公约数
时间: 2023-11-26 19:48:51 浏览: 34
以下是东北石油大学王跃萍老师讲解的辗转相除法求最大公约数的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;
}
```
gcc 编写函数计算Sn=a+aa+aaa+…+aa…a 分数 10 作者 王跃萍 单位 东北石油大学 编写函数计算Sn=a+aa+aaa+…+aa…a(最后一项为n个a)。
以下是使用C++编写函数计算Sn=a+aa+aaa+…+aa…a的代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int calc(int a, int n) {
int sum = 0;
int temp = a;
for (int i = 1; i <= n; i++) {
sum += temp;
temp = temp * 10 + a;
}
return sum;
}
int main() {
int a, n;
cout << "请输入a和n的值:";
cin >> a >> n;
int result = calc(a, n);
cout << "Sn的值为:" << result << endl;
return 0;
}
```
运行结果如下:
```
请输入a和n的值:2 3
Sn的值为:246
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![vi](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)