Opetustv

DIA-pääsykokeen (28.5.13) "kadunylitystehtävä"

May 30th, 2013
128
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2.  
  3. '''
  4. DIPLOMI-INSINÖÖRI- JA ARKKITEHTIKOULUTUKSEN YHTEISVALINTA, 28.5.2013
  5. (http://dia.fi/media/20742/insmat2013malli.pdf)
  6.  
  7. Tehtävä A6/B6/C6/D6 (Harri Potteri ylittää katua)
  8.  
  9. Puurakennetta hyödyntävä rekursiivinen, kaikki mahdollisuudet läpikäyvä ratkaisu.
  10. Tulokseksi saadaan oikea 0,22534 eli n. 22,5%.
  11.  
  12. Author: Tegu (#opetus.tv @ irc.freenode.net)
  13. Date: 30.5.2013
  14. '''
  15.  
  16. def steps(level, dist, prob):
  17.     if level >= 13:
  18.         return 0.0
  19.     elif dist >= 610:
  20.         return prob
  21.     summ = steps(level+1, dist+60, prob*0.6)
  22.     summ += steps(level+1, dist+30, prob*0.4)
  23.     return summ
  24.  
  25. if __name__ == '__main__':
  26.     print steps(0, 0, 1.0)
RAW Paste Data