Poprawność algorytmu na NWW
: czwartek 30 cze 2022, 15:56
Napisałem program w C obliczający największy wspólny dzielnik (NWD) i najmniejszą wspólną wielokrotność (NWW). O ile co do NWD zastosowałem znany algorytm Euklidesa, o tyle sposób wyznaczania NWW wymyśliłem sam i mam do niego pewne wątpliwości. Czy jest on poprawny?
Kod: Zaznacz cały
#include <stdio.h>
int nwd (int a, int b)
{
while (a != b)
if (a > b)
a -= b;
else
b -= a;
return a;
}
int nww (int a, int b)
{
return a * b / nwd (a, b);
}
int main ()
{
int a, b;
printf ("A = ?");
scanf ("%d", &a);
printf ("B = ?");
scanf ("%d", &b);
printf ("NWD (A, B) = %d\nNWW (A, B) = %d\n",
nwd (a, b), nww (a, b));
return 0;
}