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?

Najmniejsza wspólna wielokrotność - Implementacja w C/C++
Ocena użytkownikóww: *****  / 0
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.

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;
}

/*======================================================
**oblicz_nww(a,b,p)
**Najmniejsza wspólna wielokrotność
**a => liczba A
**b => liczba B
**c => czy wyświetlać obliczenia ? 0 - nie, 1 - tak
======================================================*/

int oblicz_nww(int a,int b, bool print){
	int x;
	x = (a*b)/oblicz_nwd(a,b,print);
	if (print == true){ cout << "NWW: "<<x<<"\n"; }
	return x;
}

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

int main(){
	int wybor,a,b;
	cout << "Obliczanie NWD i NWW by Narzew\n"<<
	"18.10.2013\n\n";
	cout<<"0 - oblicz NWD\n"<<
	"1 - oblicz NWW\n";
	cin >> wybor;
	wybor = (int)wybor;
	if (wybor  == 0 || wybor == 1){} else { cout << "Zly wybor!"; return -1; }
	if(int(wybor) == 0){
		cout << "Podaj pierwsza liczbe : ";
		cin >> a;
		cout << "Podaj druga liczbe : ";
		cin >> b;
		oblicz_nwd(a,b,true);
	} else {
		cout << "Podaj pierwsza liczbe: ";
		cin >> a;
		cout << "Podaj druga liczbe: ";
		cin >> b;
		oblicz_nww(a,b,true);
	}
	return 0;
}
Dodaj komentarz