标签:
联想笔记本 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, times
proc 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 false
proc hw1() : int =
var tx:int = 0
for x in 0..10000000 :
if ishuiwen(x) == true :
tx=tx+1
return tx
var t0 = times.cpuTime()
var total : int = hw1()
var t1 = times.cpuTime()
echo("Nim HW all ok ", total, " . use : ", t1 - t0)
4000毫秒+
我可不是想说谁好谁坏!!
我不是某语言拥护者。反正需要不断进步!
标签:
原文地址:http://my.oschina.net/raddleoj/blog/510932