끔찍한 우연의 일치

2193 단어 mathcookies
Nicolas Poupart의 이미지

쿠키가 지금부터 1년 후에 만료되어야 하는 쿠키 코드를 작업 중입니다. 정확히는 아닙니다. 전체 이야기는 쿠키가 지금부터 1년 이내에 만료되어야 한다는 것입니다.

여기에는 다음 JavaScript 스니펫이 포함됩니다.

date.setTime(date.getTime()+(365*24*60*60*1000));


그것은 1년의 일 수, 시간의 수를 곱한 것입니다. 글쎄, 당신은 그림을 얻습니다. 컴퓨터는 이상합니다. 1970년 새해 이후 경과된 밀리초 수로 날짜를 계산합니다.

위의 계산은 컴퓨터에서는 간단하지 않으며 결과는 31,536,000,000입니다. 하지만 더 적은 바이트로 표현할 수 있을까요? 첫 번째 생각은 Math.pow() 를 사용하여 그것을 거듭제곱으로 표현하는 것이었습니다. Math.pow()는 숫자와 지수라는 두 개의 매개변수를 사용합니다. 아마도 가장 적은 양의 바이트를 사용하고 31,536,000,000보다 약간 작은 숫자를 생성하는 그러한 숫자의 쌍이 있었을 것입니다.

나는 멍청한 짓을 했습니다. 나는 found a cube-root calculator 지수를 연결하기 시작했고, 잘 반올림된 숫자를 찾았습니다. 초기 번호는 9.00179입니다. 지수는 11이었습니다. 이를 반올림하면 쿠키가 마감 2일 전에 만료됩니다.

들뜬 마음으로 코드를 업데이트하여 몇 바이트를 절약할 수 있는지 확인했습니다.

date.setTime(date.getTime()+Math.pow(9,11));


달력을 보니 19년 전 이 날에 있었던 일이 떠올랐다. 더 많은 숫자가 있습니다. 그날 2,977명이 사망했습니다. 6,000명 이상이 부상당했습니다. 갑자기 수학이 덜 재미있어 보였습니다.

911은 계산될 때마다 1년의 밀리초 수에 대한 대략적인 근사치를 생성합니다. 나는 오늘 우연히 이것을 발견했습니다.

좋은 웹페이지 즐겨찾기