NWD kilku par liczb.
Ostatnio zmodyfikowano 2016-11-01 22:03
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 :)
|
|
Gabes |
» 2016-11-01 14:11:46 współczuje trza było wziąć pół choć ćwierć, takie są skótki melanżó (:(:>
|
|
pekfos |
» 2016-11-01 14:22:33 nie mam pomysłu jak to pisać. Jakieś pętle? |
Pętle z pewnością się przydadzą. |
|
Gabes |
» 2016-11-01 14:28:01 a N W D to?
|
|
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 :) |
|
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? :( |
|
michal11 |
» 2016-11-01 16:14:03 for( int i = 0; i < x; ++i ) { cin >> a >> b; gcd( a, b ); }
|
|
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 |
|
« 1 » |