Napisz program który:
4. Dany jest n elementowy ciąg liczb całkowitych oraz liczby całkowite m i k. Oblicz ilość tych elementów ciągu:
a) które są wspólnymi dzielnikami liczb m i k
b) wyznacz NWD liczby z tablicy i m oraz liczby z tablicy i k (wykorzystaj algorytm Euklidesa).
Np.
a) m=2 i k=6, przykładowa liczba z ciągu to: 12. m=2 i k=6 są wspólnymi dzielnikami liczby 12, czyli tą liczbę wypisujemy. m=2 i k=8, przykładowa liczba z ciągu to: 12. Dwie liczby nie są wspólnymi dzielnikami liczby 12, czyli tą liczbę pomijamy.
b) m=2 i k=6, przykładowa liczba z ciągu to: 12. NWD(2,12)=2 i NWD(6,12)=6.
Zakres to 1 klasa liceum. Program powinien byc w C++ i zeby wszystko dzialalo w Dev cpp 4.9.9.2
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <iostream>
using namespace std;
int NWD(int a, int b) {
int c;
while(b != 0) {
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
const int rozmiar = 5;
int ciag_liczb[rozmiar] = { 2, 13, 24, 25, 234 };
int m, k;
cout << "Podaj m i k: ";
cin >> m >> k;
for(int i = 0; i < rozmiar; i++) {
cout << "Liczba " << ciag_liczb[i] << ": \n";
if(ciag_liczb[i] % m == 0 && ciag_liczb[i] % k == 0)
cout << '\t' << m << " i " << k << " sa wspolnymi dzielnikami " << ciag_liczb[i] << endl;
cout << "\tNWD(" << ciag_liczb[i] << ", " << m << ") = " << NWD(ciag_liczb[i], m) << endl
<< "\tNWD(" << ciag_liczb[i] << ", " << k << ") = " << NWD(ciag_liczb[i], k) << endl;
}
return 0;
}