www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Maple" - verbesserter Eukl. Algorithmus
verbesserter Eukl. Algorithmus < Maple < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Maple"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

verbesserter Eukl. Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:06 Mi 18.11.2009
Autor: MontBlanc

Aufgabe
Modifizieren Sie den euklidischen Algorithmus dahingehend, dass der vorkommende Rest auch negativ sein kann aber [mm] |r_i|< [/mm] 0.5 [mm] |r_{i-1}| [/mm] ist.

Hi,

also mein euklidische Algorithmus sieht wie folgt aus:

r[1]:=a;  r[2]:=b;i:=2;
while r[i]<>0 do
r[i+1]:=r[i]*ceil((r[i-1])/(r[i]))-r[i-1];
abs(r[i])<0.5*r[i-1];  
i:=i+1:  
print(remainder[i-2] = r[i])  
end do;
print(hcf=r[i-1]);  
end proc;

Das Problem ist jetzt, dass die Zeile abs(r[i])<0.5*r[i-1];  im prinzip ja nichts bewirkt. Wie kann ich die Bedingung fuer die groesse des restes mit einfließen lassen ?

lg

        
Bezug
verbesserter Eukl. Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 18:51 Mi 18.11.2009
Autor: abakus


> Modifizieren Sie den euklidischen Algorithmus dahingehend,
> dass der vorkommende Rest auch negativ sein kann aber
> [mm]|r_i|<[/mm] 0.5 [mm]|r_{i-1}|[/mm] ist.
>  Hi,
>  
> also mein euklidische Algorithmus sieht wie folgt aus:
>  
> r[1]:=a;  r[2]:=b;i:=2;
>  while r<>0 do
> r[i+1]:=r*ceil((r[i-1])/(r))-r[i-1];
> abs(r)<0.5*r[i-1];  
> i:=i+1:  
> print(remainder[i-2] = r)  
> end do;
> print(hcf=r[i-1]);  
> end proc;
>
> Das Problem ist jetzt, dass die Zeile abs(r)<0.5*r[i-1];  
> im prinzip ja nichts bewirkt. Wie kann ich die Bedingung
> fuer die groesse des restes mit einfließen lassen ?
>
> lg

Hallo,
Falls der Rest r bei der Teilung von a durch b größer ist als b/2, wird vom Rest nochmals der Wert b subtrahiert.
Beispiel:
23:5=4 Rest 3
3 ist größer als 5/2, deshalb 3 um 5 verringern
Wir nehmen nicht mehr 4*5+3,
sondern 5*5-2.
Gruß Abakus


Bezug
                
Bezug
verbesserter Eukl. Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:14 Mi 18.11.2009
Autor: MontBlanc

Hallo,

danke für deine antwort. meine frage bezog sich darauf, wie ich maple genau das mittteile, auf dem papier ist mir das klar, ich kriege es nur nich eingebunden. Wie sag ich maple, dass es das tun soll, also [mm] r_i<0.5*r_{i-1} [/mm] sein lassen ?

lg

Bezug
                        
Bezug
verbesserter Eukl. Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 20:43 Mi 18.11.2009
Autor: abakus


> Hallo,
>  
> danke für deine antwort. meine frage bezog sich darauf,
> wie ich maple genau das mittteile, auf dem papier ist mir
> das klar, ich kriege es nur nich eingebunden. Wie sag ich
> maple, dass es das tun soll, also [mm]r_i<0.5*r_{i-1}[/mm] sein
> lassen ?

Hallo,
gibt es da keinen "IF ... THEN ..." Befehl oder etwas in dieser Art (eventuell auch "CASE ....) ?

>  
> lg


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Maple"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]