CodeWars 일백 열 여섯 번째 문제
Updated:
Going to zero or to infinity?
public class Suite {
public static double going(int n) {
double sum = 1;
double factorial = 1;
while(n > 1) {
factorial *= n;
sum += 1 / factorial;
n--;
}
String num = String.valueOf(sum);
return num.length() > 7 ? Double.valueOf(num.substring(0,8)) : Double.valueOf(num.substring(0,num.length()));
}
}
- 최근 고1 수학 적인 문제들을 풀어서 어렵지 않아 굳이 포스팅을 하지는 않았는데 이번에는 아래 Best 코드에서 소수점 표현하는 것을 처음 배워서 포스팅한다.
- 이런 문제들을 풀면 대학시절에 수학이 필요없다고 생각한 내가 참으로 착오가 크다고 생각한다.
- 어쨌든 공대생이면 수학은 기본 잘해야하는 것이 맞는것 같긴 하다.
public static double going(int n) {
double result = 1.0;
double frac = 1.0;
while (n > 1) {
frac /= n--;
result += frac;
}
return (int) (result * 1e6) / 1e6;
}