• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

NWD - problem z zadaniem/c++

Object Storage Arubacloud
+1 głos
1,126 wizyt
pytanie zadane 6 lutego 2017 w C i C++ przez cubus Początkujący (430 p.)


Mam pytanie. Mam problem w zadaniu obliczającym największy wspólny dzielnik dwóch liczb.

To jeszcze zadanko niedokończone:

int a,b;

int main()
{
    cout << "Podaj dwie liczby" << endl;
    cin>>a;
    cin>>b;
    cout<<endl;

    for(int i=0;i<=a;i++)
    {

            if(a%i==0)
          {
            cout<<i<<endl;
          }
          else
          {

          }

    }
    return 0;


Kompiluje się ale wyskakuje błąd. Chodzi o to, że chciałbym najpierw sprawdzić przez co się dzieli bez reszty liczba a, następnie tak samo zrobić z b i później na podstawie tych dzielników znaleźć dwa największe ich wspólne dzielniki i nie wiem czemu tak nie można :(

1
komentarz 6 lutego 2017 przez niezalogowany
Zmień iterację pętli z 0 na 1. Modulo oparte jest na dzieleniu, a gdy i = 0 to w a%i wyskoczy problem.

3 odpowiedzi

+3 głosów
odpowiedź 6 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
wybrane 6 lutego 2017
 
Najlepsza
Nie wolno dzielic przez 0 ;)
0 głosów
odpowiedź 6 lutego 2017 przez cubus Początkujący (430 p.)
Racja, dziękuję :D Czyli tym sposobem, którym ja chce zrobić to da sie określić NWD dwóch liczb? :D jak będę mieć problemy dalej co robić, a pewnie będę mieć to napisze ;)
komentarz 6 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
wszystko sie da ;)
0 głosów
odpowiedź 6 lutego 2017 przez cubus Początkujący (430 p.)
Gdzie mam umieścić warunek if(i==j) żeby wypisał mi takie same dzielniki obu liczb? mam stworzyć pętlę która jeszcze raz przejdzie przez te dwa for-y z a i b?
komentarz 7 lutego 2017 przez cubus Początkujący (430 p.)
Takie zadanka wydają się proste, ale i tak trzeba pokombinować trochę. A o co chodzi z tym b=mniejsza, a=mniejsza?

I jak mogę zrobić program sprawdzający czy podana liczba jest liczbą pierwszą? warunki to chyba mają być np liczba%1==0 i liczba%liczba==0.

Nie wiem czy to kwestia wyćwiczenia doświadczenia i wprawy, ale na razie proste zadanka umiem tylko robić. I czy np NWD i inne trudniejsze zadania mam sie uczyć na pamieć jak wykonywać je?
komentarz 7 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
Powtorze:
Warunek ? Co się ma stac dla prawdy : w przeciwnym wypadku;

a>b ? mniejsza=b :  mniejsza=a;

Polecam sprawdzic czy dzielniki tej liczby. Jesli ma ich wiecej niz 2 to znaczy ze nie jest pierwsza. Mozesz zadac to pytanie na forum, zeby kazdy mogl ci odpowiedziec, bo moze jest jakis lepszy sposob.

No napewno jest to kwestia doswiadczenia, im wiecej napiszesz tym lepiej. Chodzi tutaj o to zeby nie tylko zrobic, ale tez ZROZUMIEC.
komentarz 7 lutego 2017 przez cubus Początkujący (430 p.)
Oki, a jak mam napisac warunek, który wie ile ma dzielników?
komentarz 7 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)

nie ma czegos takiego. Poprzedni program robiles tak, ze gdy i bylo dzielnikiem, wypisywales go. Teraz zrob tak ze zwiekszysz liczbe dzielnikow.

int dzielniki=0;
for(int i=1;i<liczba;i++)
if(liczba%i==0) // i jest dzielnikiem tej liczby
dzielniki ++; // zwiekszasz liczbe dzielnikow

 

komentarz 7 lutego 2017 przez cubus Początkujący (430 p.)
Nie mam pojęcia jak ma to wyglądać ehh

Podobne pytania

0 głosów
4 odpowiedzi 1,510 wizyt
0 głosów
2 odpowiedzi 429 wizyt
0 głosów
2 odpowiedzi 122 wizyt
pytanie zadane 4 września 2017 w C i C++ przez student97 Nowicjusz (210 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...