嵌套循环-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
"""

  

 

posted @ 2022-04-02 21:02  青灯浊酒  阅读(33)  评论(0编辑  收藏  举报