Ansicht umschalten
Avatar von Stasi
  • Stasi

mehr als 1000 Beiträge seit 01.10.2003

schöne Beispiele habt ihr da wieder

// Find the larger number between a and b using the ternary operator temp = ( (a > b) ? a : b);

Mach Sachen? Das hätte ohne den Kommentar ja bestimmt niemand erwartet.

Zudem ist die Funktion lcm ziemlich ineffizient, denn sie zählt einfach Zahlen hoch, die die Bedingung nie erfüllen können, aber trotzdem in Form eines Compare Leistung benötigen. Besser wäre, schon am Anfang dafür zu sorgen, daß a immer die größere von beiden enthält und dann statt ++temp mit temp + a zu rechnen, weil wenn ich temp mit a initialisiere, es völlig nutzlos ist, die Zahlen zwischen temp und temp+a zu prüfen, da die niemals ganzzahlig auch nur durch a teilbar sein werden (und die Prüfung auf b erfolgt ja eh nur, wenn durch a teilbar ist). Das sorgt schon bei 4 und 6 dafür, daß aus 6 Schleifen-Durchläufen nur noch 2 werden.

Und das ist das Problem von KI, es versteht eben nicht, was es da tut, sondern liefert einfach die Codeblöcke, die ihrer statistischen Betrachtung nach das passendste Ergebnis produziert.

PS: Zur Ehrenrettung der KI möchte ich anmerken, daß ich tatsächlich C-kundiges Programmierpersonal kenne, die mit "(a>b) ? a : b" nichts anfangen können.

Das Posting wurde vom Benutzer editiert (16.06.2024 11:12).

Bewerten
- +
Ansicht umschalten