GRUDAT, ÖVNING 3 Rekursion 1 REKURSIV RÄNTA * Om Jesus satt in en krona på banken till en procents ränta, hade han då varit miljonär idag? Ge en rekursiv tanke för 1.01 höjt till 2003 och programmera en funktion som kan anropas jesus(1.01,2003)]. 2 REKURSIVT FÖRFATTARARVODE * Vissa förlag ger författarna betalt per rad, andra per ord och allra vanligast är att betala per tecken. Det behövs alltså ett program som anger antalet rader, ord och tecken i en fil. Även returtecknen ska räknas. Ange rekursiva tankar för dessa antal och skriv ett program wc.py som frågar efter filnamn och skriver ut de tre antalen. 3 REKURSIV STACKUTSKRIFT * I stackens objekt finns ett tal och en next-pekare. Man vill skriva ut talen i stacken, dels uppifrån och ner, dels nerifrån och upp. Ange rekursiva tankar för detta och programmera dom! 4 REKURSIV STACKSUMMERING * Ange rekursiv tanke för summan av talen i stacken och programmera den! * Samma uppgift för alternerande summan a-b+c-d+... 5 REKURSIV NODRÄKNING I BINÄRTRÄD * Ange en rekursiv tanke för antalet noder i ett binärt träd och programmera den. * Samma uppgift för antalet löv i ett binärt träd. 6 TORNEN I HANOI * Spelet består av ett antal brickor i olika storlekar som kan träs på tre vertikala pinnar. En större bricka får aldrig ligga ovanpå en mindre. Från början finns alla brickor på första pinnen och uppgiften är att flytta en bricka i taget så att till slut alla brickor finns på tredje pinnen. Ange en rekursiv tanke och programmera lösningen!