Programowanie C++ / HTML & CSS / Arduino - ProximalBots

C++

Największy wspólny dzielnik

Rozwiązanie za pomocą pętli for

Po wpisaniu dwóch liczb program wyznacza ich największy wspólny dzielnik

#include "iostream"
using namespace std;
 
int main()
{
    int a, b, temp;
 
    cout << "Podaj dwie liczby" << endl;
    cin >> a >> b;
 
    for (; b != 0;) {
        temp = a % b;
        a = b;
        b = temp;
    }
 
    cout << "NWD = " << a << endl;
 
    return 0;
}

Rozwiązania rekurencyjne

Poprzez odejmowanie

#include "iostream"
using namespace std;

// odejmowanie 
int NWD(int liczba_1, int liczba_2) {

	if (liczba_1 == liczba_2)
		return liczba_1;
	if (liczba_1 > liczba_2)
		return NWD(liczba_1 - liczba_2, liczba_2);
	else
		return NWD(liczba_1, liczba_2 - liczba_1);
}
int main()
{
	int liczba_1, liczba_2;
	cout << "Podaj liczby: " << endl;
	cin >> liczba_1 >> liczba_2;

	// odejmowanie
	cout << "NWD: " << NWD(liczba_1, liczba_2) << endl;

	return 0;
}

Poprzez resztę z dzielenia

#include "iostream"
using namespace std;
 
// Reszta z dzielenia
int NWD_mod(int liczba_1, int liczba_2) {
 
    if (liczba_2 <= 0)
        return liczba_1;
    else
        return NWD_mod(liczba_2, liczba_1 % liczba_2);
}
 
int main()
{
    int liczba_1, liczba_2;
 
    cout << "Podaj liczby!" << endl;
    cin >> liczba_1 >> liczba_2;
 
    // Reszta z dzielenia
    cout << NWD_mod(liczba_1, liczba_2) << endl;
 
    return 0;
}

Aktualności