http://euler.synap.co.kr/prob_detail.php?id=5
1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다.
그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까?
-----------------------------------------------------------------------
public static void main(String[] args){
int now = 20;
for(int i=2;i<=20;i++){
if(now%i==0){
if(i==20){
System.out.println(now);
break;
}
}else{
i=2;
now+=2;
}
}
}
다시 공부-----------------------------------
//1부터 검색을 해도 수행 됨.
public static void main(String arg[]){
int now = 2520; //시작 숫자
for(int i=11;i<21;i++){ //범위
if(now%i!=0){ //나누어 떨어지는 숫자를 발견하면
int j;
for(j=2;j<i;j++){ //공통 약수를 찾아본다
if(now%j==0 && i%j==0){ //공통 약수를 찾았으면 약수를 곱한다.
now *= j;
break;
}
}
if(j==i){ //공통 약수를 못찾았으면 그 숫자는 소수이기 때문에 그 수를 그냥 곱한다.
now *= i;
}
}
}
System.out.println(now);
}
'코딩 테스트 > Project Euler @ kr' 카테고리의 다른 글
7) 10001번째의 소수 (0) | 2017.04.12 |
---|---|
6) 1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? (0) | 2017.04.12 |
4) 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2017.04.12 |
3) 가장 큰 소인수 구하기 (0) | 2017.04.12 |
2) 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 (0) | 2017.04.12 |