Skip to content

Instantly share code, notes, and snippets.

@Jakob-PB
Created March 8, 2018 23:34
Show Gist options
  • Save Jakob-PB/7b2bee9dd09ec81f57468a351091eb2c to your computer and use it in GitHub Desktop.
Save Jakob-PB/7b2bee9dd09ec81f57468a351091eb2c to your computer and use it in GitHub Desktop.
A fun little shortcut I created to reduce fractions... until I found the Math>Frac function on my TI-84.
#include<iostream>
#include<cmath>
using namespace std;
bool is_integer(float k)
{
return std::floor(k) == k;
}
int main()
{
cout << "Reduce a fraction!" << endl;
cout << "Enter the numerator:";
double number1 = 0;
cin >> number1;
cout << "Enter the denominator:";
double number2 = 0;
cin >> number2;
cout << "------------------------------------" << endl;
double number1HighestFactor = number1 / 2;
double number2HighestFactor = number2 / 2;
double highestFactor = (number1HighestFactor > number2HighestFactor) ? number1HighestFactor : number2HighestFactor;
int factorOfNumber1 = 0, factorOfNumber2 = 0;
for (int i = 1; i < (highestFactor + 1); i++)
{
// We only want to print out common factors
if (is_integer(number1/i) && is_integer(number2/i))
{
factorOfNumber1 = number1 / i;
factorOfNumber2 = number2 / i;
cout << "Common factor of " << i << ": " << "(" << number1 << ")" << factorOfNumber1 << " (" << number2 << ")" << factorOfNumber2 << endl;
}
}
cout << "------------------------------------" << endl;
cout << "The simplest form for " << number1 << "/" << number2 << " is " << factorOfNumber1 << "/" << factorOfNumber2 << endl;
cout << endl;
system("pause");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment