华为算法题 go语言或者python
由于您没有提供具体的算法题,我将提供两个简单的算法例子,一个用Go语言实现,一个用Python实现。
例子1:计算一个整数的阶乘。
Go语言实现:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1
}
return n * factorial(n-1)
}
func main() {
num := 5
result := factorial(num)
fmt.Printf("Factorial of %d is %d\n", num, result)
}
Python实现:
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
num = 5
result = factorial(num)
print(f"Factorial of {num} is {result}")
例子2:求两个数的最大公约数 (GCD)。
Go语言实现:
package main
import "fmt"
func gcd(x, y int) int {
for y != 0 {
x, y = y, x%y
}
return x
}
func main() {
num1 := 12
num2 := 30
result := gcd(num1, num2)
fmt.Printf("GCD of %d and %d is %d\n", num1, num2, result)
}
Python实现:
def gcd(x, y):
while y:
x, y = y, x % y
return x
num1 = 12
num2 = 30
result = gcd(num1, num2)
print(f"GCD of {num1} and {num2} is {result}")
请根据您的具体算法题要求,选择合适的例子进行修改和应用。
评论已关闭