Problem z programem [Napisanie NWD]

0

Witam.
Muszę napisać w C++ program znajdujący największy wspólny podzielnik dwóch liczb całkowitych, a nie mam zielonego pojęcia jak się do tego zabrać. Będe wdzięczny za każdą pomoc.

0

największy wspólny dzielnik....

int a,b,c,d;

for(c=0;(a<b?a:b)>=d;d=(((a/c)&1)&&((b/c)&1))?c:d,c++);

ja nie znam c++ ale próbuje :P

0

std.iglu.cz tam dział C++(Builder) i Algorytmy, tam chyba Robin kiedyś pisał NWD...

Pablo:
a) Division By Zero
b) To daje chyba niepoprawne wyniki (chyba, że źle podaję zmienne)

<font color="blue">[</span><font color="red">ADD</span><font color="blue">]</span>
Właśnie napisałem jeszcze krótszą wersję:P :

int a=5,b=7, i=0;
for(i = ((a<b)?a:b); ((i%a)|(i%b)); i++);

wynikiem jest i

0

Jestem wdzięczny za próbę pomocy ale niestety żaden z tych programików nie chce mi się skompilować. Dodam, że używam dev c++ i ten programik musi mi się kompilować pod nim.

0

Dodam, że używam dev c++ i ten programik musi mi się kompilować pod nim.

A co to za roznica? Toz to czyste C. Kompilowac sie powinno. Chyba, ze tylko to wklejasz do pliku :)

0

NWD metodą dzielenia (algorytm Euklidesa); napisany w C++ (działa na 100% w Visual C++)

#include <iostream>

using std::cout;
using std::cin;

int main()
{
unsigned long int m,n,r;
cout<<"Program obliczajacy NWD algorytmem Euklidesa (metoda dzielenia)\n\n";
cout<<"Podaj dwie liczby (oddzielone spacja)...\n";
cin>>m;
cin>>n;

   do
   {
      r=n%m;
      n=m;
      m=r;
   }
   while (m!=0);
cout<<"NWD podanych liczb wynosi: "<<n<<"\n";
return 0;
}

Mam nadzieję, że pomogło...

...zwykły user...

[email protected]

0

Oj pomogło i to bardzo.
Wielkie dzięki:)))

1 użytkowników online, w tym zalogowanych: 0, gości: 1