Erklärung eines Programms

cwriter

Erfahrenes Mitglied
Schon, aber es ist
0: 21
1: 10
2: 18

Und nicht
0: 21
1: 18

wie von dir angegeben.

Aber ab sofort nur noch Auskunft gegen Weg.

cwriter
 

BasicC

Erfahrenes Mitglied
Gut ok.
Jetzt sind wir ja bei 18
18 gerade wird also wieder die else funktion ausgeführt?
(18 - 1) * 2 = 34?
 

Technipion

Erfahrenes Mitglied
Tikorz, du musst dir deinen Code und cwriters Beiträge auch schon aufmerksam durchlesen.

In Mathe:
5 / 2 = 2 Rest 1
In C:
5 / 2 = 2
5 % 2 = (Rest) 1 = 1

(2 * 2 + 1 = 5) <- Umkehrung

Bei diesem Code wird nun if( n % 2 != 0) geprüft, also eigentlich if(n % 2 == 1). Und das heisst: Falls n ungerade ist.

In dem zweiten Code steht nirgendwo n % 2, sondern einmal n % 3 und einmal n % 4.

Gruß Technipion
 

cwriter

Erfahrenes Mitglied

BasicC

Erfahrenes Mitglied
Ich verstehe die zweite if abfrage nicht :/
Also nochmal
n=41
n>2? Ja
n ungerade? Ja
n/2 = 21

n= 21
n>2 ? Ja
n ungerade ? Ja
n/2 = 10

n=10
n>2 ? Ja
n ungerade? Nein
n = ( 10 -1 ) * 2
n = 18 ?
Hier ist der Fehler anscheinend ?
 

cwriter

Erfahrenes Mitglied
Hier ist der Fehler anscheinend ?
Bis jetzt stimmt es, aber aus Versehen.

Die Abfrage ist auf Modulo 3, nicht 2.
21 ist schon ungerade, aber das ist nicht gefragt. Gefragt ist, ob 21 durch 3 teilbar ist.

n % 3 == 0 => 21 / 3 = 7 R 0
(Anders gesagt: (n/ 3) * 3 == n)

Und ganz allgemein:

x % y == r <=> (x / y) * y == x + r
(Bedenke, dass Computerrechnungen in Division nicht Assoziativ / Distributiv sind!)

Aus Versehen stimmt deine Folge aber soweit.
Aber 2 Fehler auf 6 Rechnungen? Meinst du das jetzt ernst?
n beginnt mit 42, nicht 41.

Gruss
cwriter
 

BasicC

Erfahrenes Mitglied
Ich komme ab dann nicht mehr weiter warum ist dieses if unter else ?

Warte neuer Kommentar lasst mich kurz noch überlegen !
 

BasicC

Erfahrenes Mitglied
So die Fortsetzung weiß ich jetzt aber nochmals frage bei 18 % 4 kommt 4,5 raus runde ich immer ab ?
 

Anhänge

  • F556EE37-0852-4C66-8EFA-9EA0DD49B023.jpeg
    F556EE37-0852-4C66-8EFA-9EA0DD49B023.jpeg
    88,4 KB · Aufrufe: 5