본문 바로가기

코딩 테스트/Project Euler @ kr

52) 2배, 3배, 4배, 5배, 6배의 결과도 같은 숫자로 이루어지는 가장 작은 수

반응형

http://euler.synap.co.kr/prob_detail.php?id=52


간만에 쉬운 문제


Skillist 설명---------------------------------------------------------------------------------


public static void main (String[] args){

int start = 1;

for(int i=start;i<(start*10/6)+1;i++){ //6을 곱해도 자릿수가 같은 수의 범위

int total = same(i); //i숫자 판별

int j;

for(j=2;j<7;j++){ //i의 2~6배수 숫자 비교

if(total!=same(i*j)){

break;

}

}

if(j==7){ //6개 나왔으면 종료

System.out.println(i);

return;

}

if(i==(start*10/6)){ //답이 안나왔으면 10곱해서 진해

start*=10;

i=start;

}

}

}

public static int same(int i){

int total = 0;

for(int j=0;j<String.valueOf(i).length();j++){

switch (String.valueOf(i).charAt(j)){

case '1' :

total+=1;

break;

case '2' :

total+=10;

break;

case '3' :

total+=100;

break;

case '4' :

total+=1000;

break;

case '5' :

total+=1000;

break;

case '6' :

total+=10000;

break;

case '7' :

total+=100000;

break;

case '8' :

total+=1000000;

break;

case '9' :

total+=10000000;

break;

case '0' :

total+=100000000;

break;

}

}

return total;

}

반응형