#include <iostream>
using namespace std;
int mcd(int a,int b)
{
int c;
if(b>a)
{
c = a;
a = b;
b = c;
}
c = a%b;
while(c > 0)
{
a = b;
b = c;
c = a%b;
}
return b;
}
int main()
{
int mcdiv;
int de,nu;
int resultadoden = 1;
int resultadonum = 1;
for(int num = 10; num<=50; num++)
for(int den = 10; den <= 99 ; den++)
{
mcdiv = mcd(num,den);
if(num != den && mcdiv!=1 && mcdiv%10!=0)
{
de = den/mcdiv;
nu = num/mcdiv;
int dat1[2]= {num/10,num%10};
int dat2[2]= {den/10,den%10};
for(int i=0; i<=1; i++)
for(int j = 0; j<=1; j++)
if(dat1[i]!=0 && dat2[j]!=0 &&
dat1[i]%nu==0 &&
dat2[j]%de==0 &&
(dat1[i]/nu)==(dat2[j]/de) &&
(dat1[(i+1)%2]==dat2[(j+1)%2]))
{
cout << num<<"/"<<den<<" = "<<dat1[i]<<"/"<<dat2[j]<<endl;
resultadoden *= den;
resultadonum *= num;
}
}
}
cout << "Resultado final = "<< resultadoden/mcd(resultadonum,resultadoden) <<endl;
return 0;
}
martes, 10 de abril de 2012
Project Euler 33
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario