#include <stdio.h>//int kgV(int A, int B)//nur um par variablen zu sparen:int kgV(int a, int b){ //int a,b,x,y; //wir sparen weiter: int x,y; //a = x = A; //btw. solche konstrukte sollte man NIE bauen. //b = x = B; //geht alles ber den stack->lahm, speicherintensiv //wenn man die variablen schon braucht, dann geht das zB so: //int x = A; //int a = A; //int y = B; //int b = B; //brauchen wir aber nicht, also sparen wir weiter: //auch wrde es den code dnner machen, wenn man definition und initialisierung zusammenwirft: //int x = a; //int y = b; x = a; y = b; //while(!(a = b)){ //a = b schreibt b in a und gibt b zurck. eben haben wir das prinzip noch angewendet. erinnern wir uns? //a = x = A; fhrt (x = A) aus, was A zurck gibt und in a speichert. //while(!(a=b)) macht also erst a=b und gibt dann vergleicht es, ob das ergebnis von a=b (also b) //die bedingung !(b) == true erfllt. //somit wre !(a=b) immer dann erfllt, wenn b nicht ungleich 0 ist, also wenn b null ist. while(!(a == b)){ //if(a < b) // b = b-a; //y = y+x; //ordentliches einrcken wrde schon helfen, den fehler zu sehen if(a < b){ b = b-a; y = y+x; } //if(a > b) // a = a-b; //x = x+y; //auch hier. einrcken ftw! //zumal hier 'else' reichen wrde. immerhin wird a==b oben in while(...) abgefangen. //->wenn a nicht kleiner und nicht gleich b ist, muss es grer sein //wrde wieder par maschinencode-anweisungen sparen. if(a > b){ a = a-b; x = x+y; } } //return x/2 + y/2; //auch wenn es richtig war, es berechnet zwei divisionen und dann noch eine addition. besser wre doch //eine addition und dann eine division. return (x+y)/2;}//eine kleine main-funktion, die den kgV berechnet. Knnte man auch nachprfen. wir erinnern uns://ggT(a,b) == (a*b)/kgV(a,b) ==> kgV(a,b) == (a*b)/ggT(a,b).//man msste also nur den eukliden einfgen und knnte nachrechnen.int main(int c, char **v){ //ausgabe des kgV von 245 und 135. printf("kgV(245,135) == %d\n", kgV(245,135)); //EXIT_SUCCESS wre hier besser, weil es nicht immer so ist, dass 0 = keine Fehler bedeutet. return 0;}// ( UHU )// ()// |\|\//|| o// ||\|/\|| ,__,// |\//\\|| (00)// ||\|\/||______(,,)____// |\//\\|//--/--//---//()// |\\\|\/|// |//|\\||// |\|\//|| ( IHA! )// ||\|/\|| ()// |//|\\|| o (||)// |//|\\|| (oo)______// |\|\//||_ (__) )\//_||\|/\||____\|/____\||/_____||----||_*___