www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

evangelion2100

Gepostet:
11.11.2005 17:42

Haskell-Aufgabe.  
Hallo,

bin ein Neuling was Haskell betrifft und habe nun ein Problem mit einer Aufgabe, die lautet:

Um zwei Zahlen a und b zu multiplizieren kann man so vorgehen:
1. Verdopple a, teile b ganzzahlig durch 2.
2. Führe n Schritt 1 durch bis b=1.
3. Addiere alle verdoppelten Werte (a), für die die zugehörigen halbierten werte (b)
ungerade sind.
Die Summe ist das Produkt a*b

Was ich bis jetzt habe ist das:

>mp :: Float -> Float -> Float
>mp a b
> | (b == 1) = a
> | odd b = a + mp (a*2) ((b-1)/2)
> | otherwise = mp (a*2) (b /2)


Mein Probleme (das mir bekannt ist) ist Zeile 3 und ich komme einfach nicht weiter.

Ich hoffe jemand kann mir weiterhelfen, wenn möglich nicht lösen, sondern Hinweise zum Lösungsweg geben (für den Anfang jedenfalls ;) ).

Danke im voraus.

MfG

evangelion2100

EDIT: Habe es schon gelöst. Mein Problem waren u.a die Bruchstriche. Ich dachte man kann keine Int teilen, aber es geht doch mit "div" und somit brauchte ich auch keine Floats als Typvariablen; konnte Int verwenden und das "odd" machte dann auch keine Probleme mehr.
Zum Seitenanfang    
 
Jammni

Gepostet:
11.11.2005 23:29

   
gut gut, dann brauch ich jacke ja nicht mehr rufen ;-)
Zum Seitenanfang Homepage   ICQ