嵌套循环-GOLANG和PYTHON对比

运行示例:i + j + k = 1000   i^2 + j^2 = k^2

GOLANG:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 @   青灯浊酒  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示