http://euler.synap.co.kr/prob_detail.php?id=33
Skillist 설명---------------------------------------------------------------------------------
for(int i=11;i<99;i++){ //i는 분자
if(i%10!=0 && i%11!=0){ //진부한 수 PASS
double first1 = i%10; //분자의 10의자리
double second1 = (i/10)%10; //분자의 1의자리
for(int j=i+1;j<100;j++){ //j는 분모
if(j%10!=0 && j%11!=0){ //진부한 수 PASS
double first2 = j%10; //분모의 10의자리
double second2 = (j/10)%10; //분모의 1의 자리
if(first1 == first2){ //분자의 10의 자리 = 분모의 10의자리
if((double)i/(double)j == second1/second2){
up *= second1;
down *= second2;
}
}else if(first1 == second2){//분자의 10의 자리 = 분모의 1의자리
if((double)i/(double)j == second1/first2){
up *= second1;
down *= first2;
}
}else if(second1 == first2){//분자의 1의 자리 = 분모의 10의자리
if((double)i/(double)j == first1/second2){
up *= first1;
down *= second2;
}
}else if(second1 == second2){//분자의 1의 자리 = 분모의 1의자리
if((double)i/(double)j == first1/first2){
up *= first1;
down *= first2;
}
}
}
}
}
}
for(int i=100;i>1;i--){ //약분
if(up%i==0 && down%i==0){
up/=i;
down/=i;
i+=1; //똑같은 숫자로 다시 약분
}
}
System.out.println(up + " / " + down);
}
'코딩 테스트 > Project Euler @ kr' 카테고리의 다른 글
36) 10진법과 2진법으로 모두 대칭수인 1,000,000 이하 숫자의 합 (0) | 2017.02.25 |
---|---|
34) 각 자릿수의 팩토리얼을 더했을 때 자기 자신이 되는 수들의 합은? (0) | 2017.02.20 |
32) 1~9 팬디지털 곱셈식을 만들 수 있는 모든 수의 합 (0) | 2017.02.20 |
31) 영국 화폐 액면가를 조합하는 방법의 수 (0) | 2017.02.20 |
30) 각 자리 숫자를 5제곱해서 더했을 때 자기 자신이 되는 수들의 합은? (0) | 2017.02.20 |