Wie macht man ein Kleinstes gemeinsames Vielfaches in C# mit einer for-Schleife?
Könnt ihr mir zeigen wie man sowas macht in C#?
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Informatik
public int berechneGgt(int _zahl1, int _zahl2)
{
int zahl1 = _zahl1;
int zahl2 = _zahl2; //Diese Variable wird bei Wertzuweisungen zwischen den Zahlen benutzt
int temp = 0; //Der Rückgabewert zweier gegebener Zahlen.
int ggt = 0;//Solange der Modulo der zwei zahlen nicht 0 ist,
//werden Zuweisungen entsprechend demEuklidischen Algorithmus ausgeführt.
while (zahl1 % zahl2 != 0)
{
temp = zahl1 % zahl2;
zahl1 = zahl2;
zahl2 = temp;
}
ggt = zahl2;
return ggt;
}
public int berechneKgV(int zahl1, int zahl2)
{
return (zahl1 * zahl2) / berechneGgt(zahl1,zahl2);
}
Quelle und Erklärung: https://pressbit.wordpress.com/2013/05/12/in-diesem-post-mochte-ich-zeigen-wie-der/
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
TheQ86
14.05.2021, 18:37
@Eucartoonfan
Die kgV Funktion nutzt die ggT Funktion in diesem Beispiel. Also geht es nicht ohne.
Nutzer, der sehr aktiv auf gutefrage ist
public class KGV
{
public static void main(String args[])
{
for(;;)
{
System.out.println("KGV von zwei ganzen Zahlen\n");
System.out.print("a = ");
int a = Stdin.intEingabe();
System.out.print("b = ");
int b = Stdin.intEingabe();
if (a*b==0)
{
System.out.println("ende");
break;
}
else
{
double max = a < b ? b : a ;
double min = a < b ? a : b ;
int i;
for(i=1 ; (i*max)%min != 0 ; i++)
;
System.out.println("kgv = " + i*max + "\n");
}
} // end for
} // end main
} // end class
https://www.straub.as/java/basic/LkgVggT.html
Ich meine nur den KgV