Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

NWD kilku par liczb.

Ostatnio zmodyfikowano 2016-11-01 22:03
Autor Wiadomość
Programistka
Temat założony przez niniejszego użytkownika
NWD kilku par liczb.
» 2016-11-01 14:03:21
Witam!
Mam do napisania program, który polega na tym, że: najpierw mamy wpisać liczbę x (tyle będzie par liczb) i potem po 2 liczby w każdej linijce. Ma być x tych linijek. Następnie program obliczy NWD po kolei tych par.

Przykład:
3 (-> to jest x)
3 6
19 8
4 88

3
1
4

(3, 1, 4 to obliczone NWD tych par)

nie mam pomysłu jak to pisać. Jakieś pętle? Tablice?
Z góry serdecznie dziękuję za wszelkie wskazówki :)
P-153165
Gabes
» 2016-11-01 14:11:46
współczuje  trza  było wziąć pół choć ćwierć, takie są skótki melanżó (:(:>
P-153166
pekfos
» 2016-11-01 14:22:33
nie mam pomysłu jak to pisać. Jakieś pętle?
Pętle z pewnością się przydadzą.
P-153167
Gabes
» 2016-11-01 14:28:01
a N W D to?

P-153168
Programistka
Temat założony przez niniejszego użytkownika
» 2016-11-01 14:28:11
Ok, a jak to robić, żeby on prosił o wpisanie x par liczb? I jak się wpisze, żeby dopiero wtedy obliczał NWD (też w kolumnie)?

int nwd(int a, int b)
{
    if (a%b==0) return b;
    else return nwd(b,a%b);
}

to oblicza NWD (największy wspólny dzielnik) jednej pary liczb a i b :)
P-153169
Programistka
Temat założony przez niniejszego użytkownika
» 2016-11-01 14:50:52
Mam jakiś taki kawałek napisany:

#include <iostream>

using namespace std;

int gcd(int a, int b)
{
    if (a%b==0) return b;
    else return gcd(b,a%b);
} // do tego momentu chyba jasne, to jest obliczanie NWD

int main()
{
    int t;
    cout << "Podaj t: " << endl;
    cin>>t;
    int n=1;
    int tab[n];
    int a,b;
    for (int i=1; 1<=t; i++)
    {
        int a= tab [0]; //
        int b=tab[1]; // to te kolumny, żeby a było kolumną 1, a b kolumną 2
        cout << endl;
        cin>>a,b;
    }

czy to w ogóle jest dobrze? I co dalej? :(
P-153170
michal11
» 2016-11-01 16:14:03
C/C++
for( int i = 0; i < x; ++i )
{
    cin >> a >> b;
   
    gcd( a, b ); // zapisuj wynik do vectora
   
}
P-153176
Rashmistrz
» 2016-11-01 22:03:34
Tu wystarczy zwykły algorytm NWD.
Tylko trzeba go usprawnić o wielokrotne
działanie i pobieranie kolejnych danych.

Wystarczy pobrać liczbę "pakietów danych"
i zrobić pętlę obracającą się tyle razy,
w której pobierasz parę, liczysz, dajesz wynik...
i tyle. :F
P-153225
« 1 »
  Strona 1 z 1