testmath_fibonacci.php

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 102 行

PHP
102
字号
<?php// $Id: testMath_Fibonacci.php,v 1.1 2003/01/02 01:57:00 jmcastagnetto Exp $include_once 'Math/Fibonacci.php';$idx = 20;echo "Calculate F($idx), fast equation = ";$fib =& Math_Fibonacci::term($idx);echo $fib->toString()."\n";$idx = 55;echo "Calculate F($idx), lookup table = ";$fib =& Math_Fibonacci::term($idx);echo $fib->toString()."\n";$idx = 502;echo "Calculate F($idx), addition loop = ";$fib = Math_Fibonacci::term($idx);echo $fib->toString()."\n";echo "\nSeries from F(0) to F(10):\n";$series = Math_Fibonacci::series(10);foreach ($series as $n=>$fib) {    echo "n = $n, F(n) = ".$fib->toString()."\n";}echo "\nand now from F(11) to F(19):\n";$series = Math_Fibonacci::series(11, 19);foreach ($series as $n=>$fib) {    echo "n = $n, F(n) = ".$fib->toString()."\n";}echo "\nChecking if 26 and 4181 are Fibonacci numbers\n";$verb = Math_Fibonacci::isFibonacci(new Math_Integer(26)) ? 'is' : 'is not';echo "26 $verb a Fibonacci number\n";$verb = Math_Fibonacci::isFibonacci(new Math_Integer(4181)) ? 'is' : 'is not';echo "4181 $verb a Fibonacci number\n";echo "\nDecompose 34512\n";$decarr = Math_Fibonacci::decompose(new Math_Integer(34512));foreach ($decarr as $fib) {    $index = Math_Fibonacci::getIndexOf($fib);    echo "F(".$index->toString().") = ".$fib->toString()."\n";}echo "\nF(n) closest to 314156 is: ";$fib = Math_Fibonacci::closestTo(new Math_Integer(314156));echo $fib->toString()."\n\n";echo 'The index for 1597 is : ';$idx = Math_Fibonacci::getIndexOf(new Math_Integer(1597));echo $idx->toString()."\n\n";$bigint = '3141579834521345220291';echo "Finding the Fibonacci numbers that add up to $bigint\n";$series = Math_Fibonacci::decompose(new Math_Integer($bigint));foreach ($series as $fib) {    $index = Math_Fibonacci::getIndexOf($fib);    echo "F(".$index->toString().") = ".$fib->toString()."\n";}// Benchmark below requires PEAR::Benchmark, PEAR::Math_Stats// and PEAR::Math_Histogram$benchmark = false;if ($benchmark) {    require_once 'Benchmark/Iterate.php';    require_once 'Math/Histogram.php';    // benchmark the fast algorithm    $index = 45;    // benchmark the lookup table    //$index = 100;    // benchmark the addition loop    //$index = 1000;    $runs = 2000;    $bench =& new Benchmark_Iterate();    echo "\n\nBenchmarking:\n";    echo "Calculating F($index) $runs times = ".$index."\n";    $bench->run($runs, 'Math_Fibonacci::term', $index);    $res1 = $bench->get();    // get some basic stats and clean up arrays for Math_Histogram    echo "term($index)  : avg time = {$res1['mean']} ({$res1['iterations']})\n";    unset($res1['mean']);    unset($res1['iterations']);    echo '----> max: '.max($res1).', min: '.min($res1).', count: '.count($res1)."\n";    echo "\nFull Stats\n";    echo "term($index)\n";    $h = new Math_Histogram();    $h->setData($res1);    $h->calculate();    echo $h->printHistogram();    print_r($h->getDataStats());    echo $h->toSeparated();}// vim: ts=4:sw=4:et:// vim6: fdl=0:?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?