• Create Account

## i

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

### #1aeleneski  Banned

100
Like
Likes
Like

Posted 17 December 2001 - 01:09 PM

i [Edited by - aeleneski on April 24, 2006 11:23:05 PM]

### #2 Anonymous Poster_Anonymous Poster_*   Guests

Likes

Posted 17 December 2001 - 02:30 PM

This function would probably be extremely slow but heres one solution I think

int numerator, denomenator; // set these to something
int smallest; // holds the smaller of the two variables
int gcf; // greatest common factor

// determine which number is smallest, doesn''t matter if equal
if ( numerator >= denomenator )
{ smallest = numerator; }
else
{ smallest = denomenator; }

for ( int i = smallest; i > 0; i++ )
{
// if both numbers divide evenly, then it is divisible by i
if ( ( numerator % i == 0 ) && ( denomenator % i == 0 ))
{ gcf = i; }
}

I''m still learning C++ so if there are any more complex functions to do this I am unaware of them.

### #3Floppy  Members

122
Like
Likes
Like

Posted 17 December 2001 - 02:54 PM

Here''s some source code I made a while ago:
 // Utilitiesvoid rational::simplify() // Simplify rational{ double x=gcd(num, denom); num/=x; denom/=x;}long rational::gcd(long x, long y) // Find greatest common divisor{ x=labs(x); // long absolute value y=labs(y); while(x != y) { if(x

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.