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.
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
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
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.
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 :)
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...
Oj pomogło i to bardzo.
Wielkie dzięki:)))