Я нашел вопрос о google следующим образом:
При вводе: 4, 7, 3, 6, 7
Результат выглядит следующим образом:
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 $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 />'; } ?>
Вы можете использовать этот код
<?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; ?>
в<?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; ?>
с<?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; ?>
Проверьте демо-версию: https://eval.in/609908
Выход:
81 40 41 21 19 22 11 10 9 13 4 7 3 6 7
Попробуй это,
<?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; ?>
Просто чтобы дать другое решение, потому что мне нравятся такие «головоломки», я дам вам это:
<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>
Смотрите, как работает здесь