perl

フィボナッチ数を求める関数、Pythonで書いたらPerlの百倍くらい早かった。

4. その他の制御フローツール — Python 3.7.3 ドキュメント ↑を参考にPythonで書きなおしたらPerlの100倍位速い。やっぱりC++には負ける。…Cで書き直すとすごく速くなるのかな。 #!/usr/bin/env python import sys def fib(max): ii,n,m = 0,1,1 while ii

フィボナッチ数を求める関数、Perlで書いたのをそのままC++にしたら200倍速くなったw

C++で多倍長整数ライブラリGMPを使う - 簡潔なQ ↑を参考に(そのままだ)、 Perlで算数 フィボナッチ数 - べれ野日記 ↑をC++で書きなおした。 #include <iostream> #include <gmpxx.h> mpz_class fib(int max){ mpz_class n,m,f; n = 1; m = 1; for(int ii=0; ii</gmpxx.h></iostream>

SL4Aで書いたけどあんまり関係ない

#!/usr/bin/perl -w use android; my $droid = Android->new(); #print "hello\n"; # 1 # 1 1 # 1 2 1 # 1 3 3 1 # 1 4 6 4 1 # - # 0 0 # 0 0+1 1 # 0 0+1 1+2 2 # 0 0+1 1+2 2+3 3 sub pascal{ my ($n) = @_; return 1 if $n eq 0; my @before = pascal($n…

これは先程のより前に書いた、コードのシンプルだけど大きい桁まで求められないフィボナッチ関数。

#!/usr/bin/perl -w use strict; use bigint; sub fib{ my ($n) = @_; $n <= 1 ? 1 : fib($n-2)+fib($n-1) } my $f = fib(@ARGV); print "$f\n"; やはり大きな数値を求められないのでは実用性に欠ける…(なんの実用性?)。 またまだバグっているためまた今…

これでフィボナッチ 100000とか求めることができるぜ!

#!/usr/bin/perl -w use strict; use bigint; print sub{ my ($max) = @_; my ($n,$m) = (1,1); my $f; for(my $ii=0;$ii<$max;$ii++){ $f = $n + $m; $n = $m; $m = $f; } $n; }->(@ARGV)."\n";

今日は素因数分解

#!/usr/bin/perl -w use strict; sub primes{ my ($n) = @_; my @searchList = 2..$n; my @primes; while(@searchList and $searchList[@searchList-1] > $n**0.5){ my $prime = shift @searchList; push @primes, $prime; @searchList = grep{$_ % $prime!=…

エラトステネスの篩 - Wikipediaをまっすぐ実装した。つもり。 #!/usr/bin/perl -w use strict; my ($n) = @ARGV; my @searchList = 2..$n; my @primes; while(@searchList and $searchList[@searchList-1] > $n**0.5){ my $prime = shift @searchList; push…

短いプログラミング。たぶんワンライナーにもできるんだろうけれども。 flv形式をmp3形式にするffmpegのコマンドを1行にしたかったのよ。 flv2mp3.pl

そういえば最近、書いていないなあ、と.