방법 1 - 합차 공식을 이용한 방법
1.25^8 = (5/4)^8 = 5^8/4^8 = 625*625/65536 (여기서 5^4=625, 4^8=2^16=65536은 외우고 있다고 전제함)
합차공식에 따라 625*625 ≒ 650*600 = 65000*6 이고 오차는 약 1/625
1/625를 1/650으로 처리하면 625*625 ≒ 65100*6 으로 개선시킬 수 있음
따라서 6 의 625*625/65536 에 대한 오차는 65100 의 65536 에 대한 오차
65536 > 60000 이고 (65536 - 65100) < 450 이므로 오차는 3/400 보다 약간 적은 수준
6 에서 오차가 정확히 3/400 일 때 5.955 가 되므로, 이것보다 오차가 약간 적으면 반올림해서 5.96 이 되는 범위
끝
방법 2 - 2^24가 10^8/6에 가까운 것을 이용한 방법
1.25^8 = (5/4)^8 = 5^8/4^8 = 10^8/2^24 인데 2^24 = 16777216 ≒ 16666667
따라서 10^8/2^24 는 대충 6 이고, 오차는 16777216 의 10^8/6 에 대한 오차와 같음
777000 에서 667000 을 빼면 대충 110000 인데 이게 16000000 의 3/400인 120000 보다 약간 적음
따라서 오차는 3/400보다 약간 적은 수준이고
오차가 정확히 3/400 일 때 5.955 가 되므로 이것보다 오차가 약간 적으면 반올림해서 5.96 이 되는 범위
끝
머리가 충분히 빠르게 돌아가면 10초 안에 5.96이라는 답을 낼 수 있다.
이게 되면 뭐가 좋은가요ㅎ °
다른 사고력 테스트와 똑같음
여기 사람들은 대부분 기억할걸?
나는 2^-7부터 2^40까지 외우고 있는데
프로그래머라면 못해도 2^15와 2^16, 보통은 2^31, 2^32, 가끔씩 2^63, 2^64 외우고있음
응너잘낫어 °
int 표현범위 2^16-1 = 65535라서 2^16 알거라고 하는것.. 근데뭐..
이해 안됨