嵌套循环-GOLANG和PYTHON对比
运行示例:i + j + k = 1000 i^2 + j^2 = k^2
GOLANG:
package main
import (
"fmt"
"time"
)
func main() {
kt := time.Now().UnixNano() / 1e6
for i := 0; i < 1001; i++ {
for j := 0; j < 1001; j++ {
for k := 0; k < 1001; k++ {
if i+j+k == 1000 && i*i + j*j == k*k {
fmt.Println("i, j, k: ", i, j, k)
}
}
}
}
st := time.Now().UnixNano() / 1e6
fmt.Println(st-kt)
fmt.Println("finish")
}
//i, j, k: 0 500 500
//i, j, k: 200 375 425
//i, j, k: 375 200 425
//i, j, k: 500 0 500
//981
//finish
PYTHON: while循环
import time
kt = int(time.time() * 1000)
i = 0
while i < 1001:
j = 0
while j < 1001:
k = 0
while k < 1001:
if i + k + j == 1000 and i**2 + j**2 == k**2:
print(f"i: {i}; j: {j}; k: {k}")
k += 1
j += 1
i += 1
st = int(time.time() * 1000)
print(st-kt)
print("finish")
"""
i: 0; j: 500; k: 500
i: 200; j: 375; k: 425
i: 375; j: 200; k: 425
i: 500; j: 0; k: 500
154175
finish
"""
PYTHON: for循环
import time
kt = int(time.time() * 1000)
for i in range(1001):
for j in range(1001):
for k in range(1001):
if i + k + j == 1000 and i**2 + j**2 == k**2:
print(f"i: {i}; j: {j}; k: {k}")
st = int(time.time() * 1000)
print(st-kt)
print("finish")
"""
i: 0; j: 500; k: 500
i: 200; j: 375; k: 425
i: 375; j: 200; k: 425
i: 500; j: 0; k: 500
118876
finish
"""

浙公网安备 33010602011771号