Heim  >  Artikel  >  Backend-Entwicklung  >  php打印杨辉三角综合实例

php打印杨辉三角综合实例

WBOY
WBOYOriginal
2016-07-25 09:12:53833Durchsuche

例子,php打印杨辉三角。

  1. $params=getParams(1);

  2. $argv0=trim($params[0]);
  3. if(!is_numeric($argv0))
  4. {
  5. error_msg("params 1 must be a numbers");
  6. }
  7. $spaceNumber=6;

  8. $maxn=$argv0;
  9. output("",true);
  10. get_trangle($argv0);
  11. error_msg("execute success");
  12. function get_trangle($n){
  13. if($n { // bbs.it-home.org
  14. return false;
  15. }
  16. if($n==1)
  17. {
  18. $this_level=array(1);
  19. print_line($this_level,$n);
  20. return array(1);
  21. }
  22. if($n==2)
  23. {
  24. $this_level=array(1,1);
  25. print_line(array(1),1);
  26. print_line($this_level,$n);
  27. return $this_level;
  28. }
  29. $last_level=get_trangle($n-1);
  30. if(!is_array($last_level)||count($last_level) {
  31. return false;
  32. }
  33. $this_level=array();
  34. $this_level[0]=1;
  35. for($i=0;$i {
  36. $this_level[$i+1]=$last_level[$i]+$last_level[$i+1];
  37. }
  38. $this_level[]=1;
  39. print_line($this_level,$n);
  40. return $this_level;
  41. }
  42. function print_line($aArray,$n)
  43. {
  44. global $maxn,$spaceNumber;
  45. $line=sprintf("%".(($maxn-$n)*$spaceNumber/2)."s","");
  46. foreach($aArray as $i)
  47. {
  48. $line.=sprintf("%".$spaceNumber."s",$i);
  49. }
  50. output($line);
  51. }
  52. function getParams($paramNum)
  53. {
  54. $in=file_get_contents("in.txt");
  55. if($in===FALSE){
  56. error_msg("cannot read in.txt,please check in.txt exists\n");
  57. }
  58. $in=preg_replace("/(\s+)/i", " ", $in);
  59. $parms=split(" ",trim($in));
  60. if($parms===FALSE)
  61. {
  62. error_msg("cannot get param from in.txt\n");
  63. }
  64. if(count($parms) {
  65. error_msg("it needs $paramNum params\n");
  66. }
  67. return $parms;
  68. }
  69. //输出 杨辉三角
  70. function output($msg,$isClean=false)
  71. {
  72. if($isClean)
  73. {
  74. $handle = fopen('out.txt', 'w');
  75. fclose($handle);
  76. }
  77. error_log($msg."\n", 3, "out.txt");
  78. }
  79. function error_msg($msg,$is_exit=true)
  80. {
  81. if($is_exit)
  82. die($msg."\n");
  83. else
  84. echo $msg."\n";
  85. }
  86. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn