用于计算最大公约数(GCD)的几种不同语言的代码示例,使用辗转相除法
时间: 2024-11-04 09:19:01
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
下面是用于计算最大公约数(GCD)的几种不同语言的代码示例,使用辗转相除法(Euclidean algorithm)实现:
Python
python def gcd(a, b): while b != 0: a, b = b, a % b return a # 示例 print(gcd(48, 18)) # 输出:6
C
c #include <stdio.h> int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } int main() { printf("%d\n", gcd(48, 18)); // 输出:6 return 0; }
Java
java public class GCD { public static int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } public static void main(String[] args) { System.out.println(gcd(48, 18)); // 输出:6 } }
JavaScript
javascript function gcd(a, b) { while (b !== 0) { let temp = b; b = a % b; a = temp; } return a; } // 示例 console.log(gcd(48, 18)); // 输出:6
C++
cpp #include <iostream> using namespace std; int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; } int main() { cout << gcd(48, 18) << endl; // 输出:6 return 0; }
Go
go package main import "fmt" func gcd(a, b int) int { for b != 0 { a, b = b, a % b } return a } func main() { fmt.Println(gcd(48, 18)) // 输出:6 }
这些代码示例展示了如何使用辗转相除法计算两个整数的最大公约数。你可以根据自己的需要选择相应的编程语言,并运行代码以查看结果。