let start_time = Date.now();

for(let a=0;a<2001;a++){
    for(let b=0;b<2001;b++){
        for(let c=0;c<2001;c++){
            if(a*a + b*b == c*c && a + b +c == 2000){
                console.log(`a, b, c: ${a} ${b} ${c}`);
            }
        }
    }
}

let end_time = Date.now();

console.log(`一共花费的时间为:${(end_time - start_time)/1000}s`);
console.log('结束!');

package main

import (
	"fmt"
	"time"
)

func main() {
	t1 := time.Now()

	for a := 0; a < 2001; a++ {
		for b := 0; b < 2001; b++ {
			for c := 0; c < 2001; c++ {
				if a*a+b*b == c*c && a+b+c == 2000 {
					fmt.Println(a, b, c)
				}
			}
		}
	}

	useTime := time.Now().Sub(t1)
	fmt.Println(useTime)
}

// use std::time::{Duration, SystemTime};
use std::time;

fn main() {
    let t1 = time::Instant::now();

    for i in 0..2001 {
        for j in 0..2001 {
            for k in 0..2001 {
                if i * i + j * j == k * k && i + j + k == 2000 {
                    println!("i,j,k={}, {}, {}", i, j, k);
                }
            }
        }
    }

    let t2 = time::Instant::now();
    println!("{:?}", t2.duration_since(t1));
}

nodejs: v14.18 – 6.761s
golang – 9.270648008s
rust – 10.731204105s

很诧异!但是应该是rust和go浪费在了最后时间计算上了!