1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
|
<?php
function ROWS_print($the_rows)
{
echo "<center>";
// durch die reihen gehen
foreach ($the_rows as $the_row)
{
// durch die ziffern gehen
foreach ($the_row as $the_number)
print(" - " . $the_number);
print(" -<br>");
}
echo "</center>";
}
function ROWS_calc($first_row)
{
$the_rows = array();
// schon ma die vorgegebene zeile adden
$the_rows[] = $first_row;
// und jetzt die unteren berechnen
$new_row = $first_row;
while (1)
{
$new_row = ROW_calc($new_row);
// is noch alles i.O.? wenn nich, loop zuende
if ($new_row === FALSE)
break;
// ansonsten halt neue zeile adden
$the_rows[] = $new_row;
}
return $the_rows;
}
function ROW_calc($a_row)
{
$new_row = array();
// wieviele ziffern hat die row?
$num = count($a_row);
// wenn nur eine, dann is schluss
if ($num == 1)
return FALSE;
// ansonsten halt von 0 bis $num-1 gehen
for ($i=0; $i<$num-1; $i++)
{
// und die summe in tmp ablegen
$tmp = $a_row[$i] + $a_row[$i+1];
// und die neue ziffer adden
$new_row[] = $tmp;
// ggf. bissel cheaten
//print("{$a_row[$i]} mit {$a_row[$i+1]}<br>");
}
return $new_row;
}
// um first_row zu bilden:
// musste als GET/POST holn und
// sowas wie str2arr() machen und
// nach zahlen filtern etc
$first_row = array(3,1,4,1,5,9,2,6,5,3,5,8,9,7,9,3,2,3,8,4,6,2,6,4,3,3,8,3,2,7);
$the_rows = ROWS_calc($first_row);
ROWS_print($the_rows);
?>
|