algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Algorytm Euklidesa - Implementacja w C/C++
Ocena użytkownikóww: *****  / 2
SłabyŚwietny
Nadesłany przez Nikodem Solarz, 19 października 2013 21:15
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

nwd_nww.cpp:
/*======================================================
**Implementacja algorytmu Euklidesa
**Narzew
**18.10.2013
**dla portalu algorytm.org
======================================================*/

#include <cstdlib>
#include <iostream>
#include <cstdio>

using namespace std;

/*======================================================
**oblicz_nwd(a,b,p)
**Największy wspólny dzielnik
**a => liczba A
**b => liczba B
**c => czy wyświetlać obliczenia ? 0 - nie, 1 - tak
======================================================*/

int oblicz_nwd(int a,int b, bool print){
	int count = 0;
	if (a == b){
		if (print == true){ cout<< "Wynik : "<<a<<"\n"; }
		return a;
	}
	while (a != b){
		count++;
		if (a < b){
			b = b-a;
			if (print == true){ printf("#%d: A: %d B: %d\n",count,a,b); }
		} else {
			a = a-b;
			if (print == true){ printf("#%d: A: %d B: %d\n",count,a,b); }
		}
	}
	if (print==true){ cout << "NWD: "<<a<<"\n"; }
	return a;
}

/*======================================================
**Main
======================================================*/

int main(){
	int a,b;
	cout << "Obliczanie NWD by Narzew\n"<<
	"18.10.2013\n\n";
	
	cout << "Podaj pierwsza liczbe : ";
	cin >> a;
	cout << "Podaj druga liczbe : ";
	cin >> b;
	oblicz_nwd(a,b,true);

	return 0;
}
Dodaj komentarz