http://euler.synap.co.kr/prob_detail.php?id=47
Skillist 설명---------------------------------------------------------------------------------
public static void main (String[] args){
HashSet<Integer> total = new HashSet<Integer>();
HashSet<Integer> temp = new HashSet<Integer>();
for(int i=100;;i++){
int now = i;
for(int j=2;j<=now/2;j++){
if(now%j==0){ //나누어 뗠어지면
int k=j;
while(now%k==0){
k*=j;
}
now/=(k/j);
temp.add(k/j);
if(total.contains(k/j)){ //이미 있으면
total.clear();
}
}
}
temp.add(now);
if(total.contains(now)){ //이미 있으면
total.clear();
}
if(temp.size()!=4){
temp.clear();
total.clear();
}else{
total.addAll(temp);
temp.clear();
}
if(total.size()==16){
System.out.println(total);
System.out.println(i-3);
return ;
}
}
}
'코딩 테스트 > Project Euler @ kr' 카테고리의 다른 글
45) 오각수와 육각수도 되는, 40755 다음으로 큰 삼각수는? (0) | 2017.03.02 |
---|---|
44) 합과 차도 모두 오각수인 두 오각수 차의 최소값은? (0) | 2017.03.02 |
46) (소수 + 2×제곱수)로 나타내지 못하는 가장 작은 홀수인 합성수는? (0) | 2017.03.01 |
48) 11 + 22 + 33 + ... + 10001000 의 마지막 10자리 (0) | 2017.03.01 |
42) 주어진 텍스트 파일에 들어있는 '삼각단어'의 개수는? (0) | 2017.03.01 |