C,Go,Rust,Nim 4語迴文數大戰!僅供娛樂參考!

來源:互聯網
上載者:User

標籤:

聯想筆記本 inter i7,2.4GHz,16G,win10

C語言(應該是全C,vs2015編譯)

#include<stdio.h>#include<stdlib.h>#include<time.h>bool ishuiwen(int n) {    int sn = 0;    sn = n;    int tn = 0;    while (sn != 0) {        tn = tn * 10 + sn % 10;        sn = sn / 10;    }    if (tn == n)        return true;    return false;}int hw1() {    int tx = 0;    int x = 0;    for (x = 0; x <= 10000000; x++) {        if (ishuiwen(x) == true)            tx ++;    }    return tx;}void runhw() {    clock_t start, finish;    double  duration;    start = clock();    int total = hw1();    finish = clock();    duration = (double)(finish - start) / CLOCKS_PER_SEC;    printf("total = %d,  %f seconds\n", total, duration);}

1100毫秒+

---------------------------

Go 1.5.1

func HW(num int) bool {    var source int = num    var tnum int = 0    for num != 0 {        tnum = tnum*10 + num%10        num = num / 10    }    if tnum == source {        //fmt.Println(source)        return true    }    return false}func hw() {    all := 10000000    t1 := time.Now()    total := 0    for n := 0; n <= all; n++ {        if HW(n) {            total++        }    }    t2 := time.Now()    fmt.Println(total)    fmt.Println(t2.Sub(t1))}

200毫秒+

----------------

Rust 1.2

use time::*;fn main() {    hw21();}fn hw21(){    let local1 = time::now();    hw2();    let local2 = time::now();    println!("{:?}", local2-local1);}fn hw2(){    let mut tx:i32 = 0;    for x in 0..10000000 {        if hw(x) == true {            tx=tx+1;        }    }    println!("--{:?}--", tx);}fn hw(n: i32) -> bool {    let mut sn:i32 = n;    let mut tn:i32 = 0;    while sn != 0 {        tn = tn*10 + sn%10;        sn = sn/10;    }    if tn == n {        return true;    }    return false;}

900毫秒+

-----------------

Nim 0.11.2

import strutils, timesproc ishuiwen(n : int): bool =  var sn : int  sn = n  var tn : int  tn = 0  while sn != 0 :    tn = tn * 10 + sn mod 10    sn = sn div 10  if tn == n :    return true  return falseproc hw1() : int =  var tx:int = 0  for x in 0..10000000 :    if ishuiwen(x) == true :      tx=tx+1  return txvar t0 = times.cpuTime()var total : int = hw1()var t1 = times.cpuTime()echo("Nim HW all ok ", total, " . use : ", t1 - t0)

4000毫秒+

我可不是想說誰好誰壞!!

我不是某語言擁護者。反正需要不斷進步!

C,Go,Rust,Nim 4語迴文數大戰!僅供娛樂參考!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.