#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