1

さて、5x3 のスター パターンをコーディングしようとしたときに、固有の問題が発生しました。for ループを実行して 5x3 を取得できます。これは簡単です。ただし、正方形とは異なるものが必要です。

星の数は最大 15 個です。したがって、完全なブロックを出力すると、次のようになります。

* * *
* * *
* * *
* * *
* * *

しかし、必要な星の数のパラメーターを渡すことができます。では、15 の代わりに 11 を渡しましょう。

* * *
* * *
* * *
* *

ただし、パラメーターとして 11 を使用すると、出力は次のようになります。

* 
* *
* *
*

星の数が間違っている正しい行数を出力します。これがなぜなのかはわかっています。それは私のコードのモジュラスによるものです。また、別のアプローチを試みたところ、必要な行よりも 1 行少なく出力されました。私は立ち往生していて、ここからどこへ行くべきかわからない.

これが私のコードです:

<?php
    $num = 11;
    $rows = ceil($num/3);
    $count - 0;
    for($j = 0; $j < $rows; $j++){
        echo '<div class="row-fluid"><ul class="thumbnails">';
        for($i = $num%3; $i < 3; $i++){
            echo '*';
            $count++;
        }
        $num-=$count;
        echo '</ul></div>';
     }
?>
4

5 に答える 5

0

おお、パズル!

forを使用することが課題の要件であったかどうかはわかりませんが、私はwhile.

 $num_of_stars = 15;
 $stars_per_row = 3;
 while($num_of_stars > 0){
    echo "*";
    if($stars_per_row == 1){
        $stars_per_row = 3;
        echo "<br />";
    }else{
        $stars_per_row --;
    }
    $num_of_stars --;
 }
于 2013-04-24T22:47:42.053 に答える