http://euler.synap.co.kr/prob_detail.php?id=30
Skillist 설명---------------------------------------------------------------------------------
public static void main(String[] args){
int result = 0;
for(int i=2;i<(5*9*9*9*9*9);i++){ //종료 시점은 직관적으로
int su = i;
int sum = 0;
while(su>0){
int asd = su%10;
sum += asd*asd*asd*asd*asd;
su/=10;
}
if(sum == i){
result += sum;
}
}
System.out.println(result);
}
다시 공부-----------------------------------
//최대 상한가 계산하는 파트 추가
public static void main(String[] arg){
int max=0;
//종료 조건 찾기
for(int i=999999;i>=0;i--){ //999999부터 각 자리수 5제곱의 합을 계산하여 자기자신보다 클 경우 break; 수행
int temp = i;
int sum = 0;
while(temp>0){
int value = temp%10;
sum+= (value*value*value*value*value);
temp/=10;
}
if(i<=sum){
System.out.println(i + "일때 계산값 : " + sum);
max=i+1;
break;
}
}
//지금부터 계산
int totalSum=0;
for(int i=2;i<=max;i++){
int temp = i;
int tempSum = 0;
while(temp>0){
int value = temp%10;
tempSum+=(value*value*value*value*value);
temp/=10;
}
if(i==tempSum){
totalSum+=i;
}
}
System.out.println(totalSum);
}
'코딩 테스트 > Project Euler @ kr' 카테고리의 다른 글
32) 1~9 팬디지털 곱셈식을 만들 수 있는 모든 수의 합 (0) | 2017.02.20 |
---|---|
31) 영국 화폐 액면가를 조합하는 방법의 수 (0) | 2017.02.20 |
29) 2 ≤ a ≤ 100 이고 2 ≤ b ≤ 100인 a, b로 만들 수 있는 ab의 개수 (0) | 2017.02.20 |
28) 1001×1001 나선모양 행렬에서 대각선 원소의 합은? (0) | 2017.02.20 |
27) 연속되는 n에 대해 가장 많은 소수를 만들어내는 2차식 구하기 (0) | 2017.02.20 |