#include "Rational.h"

vector<Rational> frational(unsigned sz, Rational x, Rational y) {
	vector<Rational> vr;
	vr.push_back(x);
	vr.push_back(y);
	for (unsigned i = 2; i < sz; ++i)
		vr.push_back(vr[i - 1] + vr[i - 2]);
	return vr;
}


int main() {
	/*for (int i = 6; i < 200; i += 6) {
		for (int j = 10; j < 200; j += 10) {
			cout << "gcd(" << i << ", " << j << ") = " << gcd(i, j) << '\n';
			cout << "gcd(" << j << ", " << i << ") = " << gcd(j, i) << '\n';
		}
	}
	vector<Rational> vr;
	for (int i = 1; i < 24; i += 6) {
		for (int j = 4; j < 41; j += 10) {
			vr.push_back(Rational(i, j));
		}
	}

	for (int i = 0; i < vr.size(); ++i) {
		for (int j = 0; j < vr.size(); ++j) {
			Rational prod(vr[i] * vr[j]);
			cout << vr[i] << " * " << vr[j] << " = " << prod << '\n';
		}
	}*/
	/*Rational r1(2 * 3, 3 * 5);
	cout << "r1 = " << r1 << '\n';
	Rational r2(r1);
	r1 = r2 * r2;
	Rational r3 = r1 * r2;
	cout << "r1 = " << r1 << '\n'
		<< "r2 = " << r2 << '\n'
		<< "r3 = " << r3 << '\n';
	Rational r4;
	cout << "r4 = " << r4 << '\n';
	//cout << gcd(660, 882);
	*/
	Rational f0, f1;
	unsigned sz;
	cout << "Enter the first and second rational numbers in the form a/b: ";
	cin >> f0 >> f1;
	cout << "\nYou entered " << f0 << ", " << f1 << '\n';
	cout << "How many fribs do you want?'\n'";
	cin >> sz;
	vector<Rational> vr = frational(sz, f0, f1);
	for (Rational r : vr) cout << r << " ";
	cin.ignore();
	cin.get();
}