2016-07-22 1 views
2

私はこのようなGoogleで問題が見つかりました:4、7、3、6、7PHPでTriangle Roll-Upを作成するには?

このような出力:入力に与えられたとき

81 

40 41 

21 19 22 

11 10 9 13 

4 7 3 6 7 

を私が唯一のように試すことができますがこの:

for($i = 1; $i<=5;$i++){ 
    for($j=0; $j<$i; $j++){ 
     echo "4"; 
    } 
    echo "<br/>"; 
} 

次の私は混乱している

私の問題を解決するための解決策はありますか?あなたはこのコード

<?php 
$arr = [4, 7, 3, 6, 7]; 
$count = count($arr); 
$finalStr = ""; 
while($count>0){ 
    $str = ""; 
    foreach($arr as $key=>$val){ 
    $arr[$key] = $arr[$key]+$arr[$key+1]; 
    $str .="$val "; 
    } 
    $str .= "\n"; 
    $finalStr = $str . $finalStr; 
    unset($arr[count($arr)-1]); 

    $count--; 
} 
echo $finalStr; 
?> 

チェックライブデモ使用することができます

+0

の作業を参照してください。その配列をループして値をエコーし​​ます –

答えて

3
<?php 

$input = array(4, 7, 3, 6, 7); 
$lines = rollup($input); 

function rollup ($input) { 
    $return = array(); 
    $line = array(); 
    if (count($input) > 0) { 
     foreach ($input as $k=>$v) { 
      if (isset($input[$k+1])) 
       $line[] = $v + $input[$k+1]; 
     } 
     $return = implode(' ', $input); 
     rollup($line); 
    } 
    if (!empty($return)) 
     echo $return . '<br />'; 
} 

?> 
1

<?php 
$a = 4; 
$b = 7; 
$c = 3; 
$d = 6; 
$e = 7; 
for($y = 1; $y<=5;$y++){ 
    for($z=0; $z<$y; $z++){ 
     $f = $a+$b; 
     $g = $b+$c; 
     $h = $c+$d; 
     $i = $d+$e; 
     $j = $f+$g; 
     $k = $g+$h; 
     $l = $h+$i; 
     $m = $j+$k; 
     $n = $k+$l; 
     $o = $m+$n; 
    } 
} 
echo $o.'<br/>'; 
echo $m.' '.$n.'<br/>'; 
echo $j.' '.$k.' '.$l.'<br/>'; 
echo $f.' '.$g.' '.$h.' '.$i.'<br/>'; 
echo $a.''.$b.' '.$c.' '.$d.' '.$e; 
?> 
、これを試してみてください210
1

ちょうど別の解決策を与えるために、私はこれらのような「のpuzzlers」を好きなので、私はあなたにこれをあげる:

<pre> 
<?php 
    //init 
    $input = [4, 7, 3, 6, 7]; 
    $output = [$input]; 

    //process 
    while(count($input) > 1) { 
     foreach($input as $key => $val) { 
      $key ? $input[] = $val + $prev : $input = array(); 
      $prev = $val;  
     } 
     array_unshift($output, $input); 
    } 

    //output  
    array_walk($output, function($line){ 
     echo implode(' ', $line) . "\n"; 
    }); 
?> 
</pre> 

は、それがその配列を逆に、結果の配列を構築here

関連する問題