ホームページ  >  記事  >  バックエンド開発  >  PHP印刷楊輝トライアングル総合例

PHP印刷楊輝トライアングル総合例

WBOY
WBOYオリジナル
2016-07-25 09:12:53832ブラウズ

例、php印刷杨辉三角。

  1. $params=getParams(1);

  2. $argv0=トリム($params[0]);
  3. if(!is_numeric($argv0))
  4. {
  5. error_msg("params 1 は数字である必要があります");
  6. }

  7. $spaceNumber=6;

  8. $maxn=$argv0;
  9. output("",true);
  10. get_traangle($argv0);
  11. error_msg("実行成功");
  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. 配列(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. $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. $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. 出力($line);
  51. }
  52. 関数 getParams($paramNum)
  53. {
  54. $in=file_get_contents("in.txt");
  55. if($in===FALSE){
  56. error_msg(".txt を読み取れません。.txt が存在することを確認してください。");
  57. }
  58. $in=preg_replace("/(s+)/i", " ", $in);
  59. $parms=split(" ",trim($in));
  60. if($parms===FALSE)
  61. {
  62. error_msg("in.txtn からパラメータを取得できません");
  63. }
  64. if(count($parms) < $paramNum)
  65. {
  66. error_msg("$paramNum paramsn が必要です");
  67. }
  68. $parms を返します。
  69. }
  70. //出力杨辉三角
  71. function Output($msg,$isClean=false)
  72. {
  73. if($isClean)
  74. {
  75. $handle = fopen('out.txt', 'w');
  76. fclose($handle);
  77. }
  78. error_log($msg."n", 3, "out.txt");
  79. }
  80. 関数 error_msg($msg,$is_exit=true)
  81. {
  82. if($is_exit)
  83. die($msg."n");
  84. else
  85. echo $msg."n";
  86. }
  87. ?>

复制發


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。