3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $aufgabe = <<<AUFGABE Der Riesenhamster Hannibal hat einen Riesenvorrat an ganzen Riesenweizenkörnern für den Winter angelegt. Hannibals Winterpause dauert t ≥ 2 Tage und sein Weizenvorrat besteht aus k Körnern. Am ersten Tag der Winterpause frisst Hannibal morgens ein Weizenkorn und nachmittags 1/101 seines restlichen Vorrats. Am zweiten Tag der Winterpause frisst Hannibal morgens zwei Weizenkörner und nachmittags 1/101 seines restlichen Vorrats. Am dritten Tag der Winterpause frisst Hannibal morgens drei Weizenkörner und nachmittags 1/101 seines restlichen Vorrats. Und so weiter: Am n-ten Tag der Winterpause frisst Hannibal morgens jeweils n Weizenkörner und nachmittags 1/101 seines restlichen Vorrats. Am Morgen des t-ten und letzten Tages sind schliesslich noch genau t Körner übrig, die Hannibal ebenfalls auffrisst. Frage: Wie lautet die Einerziffer der Dezimaldarstellung von k + t? AUFGABE; for ($t = 1; $t < 100; $t++) { for ($k = 1; $k < 1000; $k++) { $vorrat = $k; for ($day = 1; $day < $t; $day++) { if ($vorrat == $day) { var_dump($t, $k); break; } $vorrat = $vorrat - $day; $vorrat = $vorrat - (1/101) * $vorrat; } } }
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 30
Branch analysis from position: 30
Jump found. Position 1 = 32, Position 2 = 3
Branch analysis from position: 32
Jump found. Position 1 = -2
Branch analysis from position: 3
Jump found. Position 1 = 26
Branch analysis from position: 26
Jump found. Position 1 = 28, Position 2 = 5
Branch analysis from position: 28
Jump found. Position 1 = 32, Position 2 = 3
Branch analysis from position: 32
Branch analysis from position: 3
Branch analysis from position: 5
Jump found. Position 1 = 22
Branch analysis from position: 22
Jump found. Position 1 = 24, Position 2 = 8
Branch analysis from position: 24
Jump found. Position 1 = 28, Position 2 = 5
Branch analysis from position: 28
Branch analysis from position: 5
Branch analysis from position: 8
Jump found. Position 1 = 10, Position 2 = 15
Branch analysis from position: 10
Jump found. Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 15
Jump found. Position 1 = 24, Position 2 = 8
Branch analysis from position: 24
Branch analysis from position: 8
filename:       /in/9bdAk
function name:  (null)
number of ops:  33
compiled vars:  !0 = $aufgabe, !1 = $t, !2 = $k, !3 = $vorrat, !4 = $day
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   9     0  E >   ASSIGN                                                   !0, 'Der+Riesenhamster+Hannibal+hat+einen+Riesenvorrat+an+ganzen+Riesenweizenk%C3%B6rnern+f%C3%BCr+den+Winter+angelegt.+Hannibals+Winterpause+dauert+t+%E2%89%A5+2+Tage+und+sein+Weizenvorrat+besteht+aus+k+K%C3%B6rnern.+%0AAm+ersten+Tag+der+Winterpause+frisst+Hannibal+morgens+ein+Weizenkorn+und+nachmittags+1%2F101+seines+restlichen+Vorrats.+%0AAm+zweiten+Tag+der+Winterpause+frisst+Hannibal+morgens+zwei+Weizenk%C3%B6rner+und+nachmittags+1%2F101+seines+restlichen+Vorrats.+%0AAm+dritten+Tag+der+Winterpause+frisst+Hannibal+morgens+drei+Weizenk%C3%B6rner+und+nachmittags+1%2F101+seines+restlichen+Vorrats.%0AUnd+so+weiter%3A+Am+n-ten+Tag+der+Winterpause+frisst+Hannibal+morgens+jeweils+n+Weizenk%C3%B6rner+und+nachmittags+1%2F101+seines+restlichen+Vorrats.+Am+Morgen+des+t-ten+und+letzten+Tages+sind+schliesslich+noch+genau+t+K%C3%B6rner+%C3%BCbrig%2C+die+Hannibal+ebenfalls+auffrisst.%0A%0AFrage%3A+Wie+lautet+die+Einerziffer+der+Dezimaldarstellung+von+k+%2B+t%3F'
  13     1        ASSIGN                                                   !1, 1
         2      > JMP                                                      ->30
  15     3    >   ASSIGN                                                   !2, 1
         4      > JMP                                                      ->26
  17     5    >   ASSIGN                                                   !3, !2
  19     6        ASSIGN                                                   !4, 1
         7      > JMP                                                      ->22
  20     8    >   IS_EQUAL                                         ~10     !3, !4
         9      > JMPZ                                                     ~10, ->15
  21    10    >   INIT_FCALL                                               'var_dump'
        11        SEND_VAR                                                 !1
        12        SEND_VAR                                                 !2
        13        DO_ICALL                                                 
  22    14      > JMP                                                      ->24
  24    15    >   SUB                                              ~12     !3, !4
        16        ASSIGN                                                   !3, ~12
  25    17        MUL                                              ~14     0.00990099, !3
        18        SUB                                              ~15     !3, ~14
        19        ASSIGN                                                   !3, ~15
  19    20        POST_INC                                         ~17     !4
        21        FREE                                                     ~17
        22    >   IS_SMALLER                                       ~18     !4, !1
        23      > JMPNZ                                                    ~18, ->8
  15    24    >   POST_INC                                         ~19     !2
        25        FREE                                                     ~19
        26    >   IS_SMALLER                                       ~20     !2, 1000
        27      > JMPNZ                                                    ~20, ->5
  13    28    >   POST_INC                                         ~21     !1
        29        FREE                                                     ~21
        30    >   IS_SMALLER                                       ~22     !1, 100
        31      > JMPNZ                                                    ~22, ->3
        32    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.2.0