ããã³ã®å
¬å¼ ã§åå¨çã1ä¸æ¡ã¾ã§æ±ããããã°ã©ã ã、Python, Erlang, Haskell, C++ã§æ¸ãã¦ã¿ã。åºåçµæã®æå¾ã®æ°æ¡ã¯ããã¦ãããã。ã¾ã、å®è¡æéã測ã£ããããã¦ããã、1ä¸æ¡ç¨åº¦ãªãã©ã®ã³ã¼ãã§ãç¬æã«æ±ã¾ã。 ã¾ãã¯ç´ ç´ã«Pythonã§。å®è¡æãªãã·ã§ã³ã§æ¡æ°æå®、å®è¡æé測å®ä»ã。ãªãã·ã§ã³ãªãã§1ä¸æ¡ã¾ã§æ±ãã。 pi.py #!/usr/bin/env python import sys, time N = 10**10000 def arctan(m): global N c = N a = b = c / m m2 = m * m s = k = 1 while c: b /= m2 k += 2 c, s = b / k, -s a += c * s return a def main(args): global N if len(args) > 1: N = 10**int(args[1]) t1 = time.time() pi = str((arctan(5) * 4 - arctan(239)) * 4) t2 = time.time() print pi[0] + '.' + pi[1:] print "Time: %f" % (t2 - t1) if __name__ == "__main__": main(sys.argv) å®è¡: $ ./pi.py 次ã«Erlangã§æ±ãã¦ã¿ã。 pi.erl -module(pi). -export([pi/0]). pi()->N=e(10,10000),(a(5,N)*4-a(239,N))*4. e(B,N)->e(B,N,1). e(_,0,R)->R; e(B,N,R)->e(B,N-1,R*B). a(X,N)->a(X,N div X,N div X,N,1,1). a(_,A,_,0,_,_)->A; a(M,A,B,_,S,K)->...
Good things. Bad things.