亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

增加星號和零的打印模式

增加星號和零的打印模式

PHP
慕蓋茨4494581 2022-12-11 09:27:26
如何打印這個圖案?$number = 5;for ($i=1; $i <= $number ; $i++) {     for ($j=$i; $j >= 1;$j--){        echo "0";    }    echo "\n";}印刷000000000000000我試過這樣,但我對打印星號和零字符感到困惑for ($i=1; $i <= $number ; $i++) {     $sum = 0;    for ($j=$i; $j >= 1;$j--){        $sum +=$j;    }    echo $i ." => " .$sum ."\n";}印刷1 => 12 => 33 => 64 => 105 => 15
查看完整描述

4 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

您可以使用str_repeat生成所需長度的字符串。請注意,對于三角數,(1, 3, 6, 10, 15, ...)您可以將第i'th 數生成為i(i+1)/2:


$number = 5;

for ($i = 1; $i <= $number; $i++) {

    echo str_repeat('*', $i * ($i + 1) /2) . str_repeat('0', $i) . PHP_EOL;

}

輸出:


*0

***00

******000

**********0000

***************00000

3v4l.org 上的演示

要更直接地生成輸出的三角形部分(即從 1 到 的數字總和i),您可以使用此代碼,它在每次迭代時將$i *s 和 1添加0到輸出中:


$line = '';

$number = 5;

for ($i = 1; $i <= $number; $i++) {

    $line = str_repeat('*', $i) . $line . '0';

    echo $line . PHP_EOL;

}

輸出:


*0

***00

******000

**********0000

***************00000

3v4l.org 上的演示


查看完整回答
反對 回復 2022-12-11
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

這是另一種方式,它使用替換邏輯的更直白的解讀。在這里,我通過獲取前一行并將行號 amount 添加*到該*部分來形成每個后續行,然后只標記一個新的尾隨零。


$line = "*0";

$max = 5;

$counter = 1;


do {

    echo $line . "\n";

    $line = preg_replace("/(\*+)/", "\\1" . str_repeat("*", ++$counter), $line) . "0";

} while ($counter <= $max);

這打印:


*0

***00

******000

**********0000

***************00000


查看完整回答
反對 回復 2022-12-11
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

for 循環中零的個數等于 $i。所以我們只需要計算星星的數量然后簡單地做一個str_repeat


$count = 5;


for ($i=1; $i <= $count; $i++) {


  $stars = 0;

  for($j=1; $j <= $i; $j++) {

    $stars = $stars + $j;

  }


  echo str_repeat('*', $stars).str_repeat('0', $i)."\n";

}

輸出:


*0

***00

******000

**********0000

***************00000


查看完整回答
反對 回復 2022-12-11
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

$line = '';


for ($i = 1; $i <= 5; $i++) {


   $line = str_repeat('*', $i) . $line . '0'; // **str_repeat()** --> getting string length


   echo $line . PHP_EOL; // **PHP_EOL** ---> represents the endline character.


}


查看完整回答
反對 回復 2022-12-11
  • 4 回答
  • 0 關注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號