에서 XKCD 1047 , 이러한 갤런에서 리터의 수와 랜달 먼로 목록 다양한 정밀도와 복잡성 모듬 수량와 숫자의 "약간 잘못"근사는 매우 가까운 3 +에있다 π / 4 . 만화의 한가운데서, 그는 한 해 동안 세계 (미국) 인구를 추정 할 수있는 방법을 제공합니다.
당신의 임무는 다음과 같이 현재 세계와 미국 인구를 근사하기 위해 이러한 공식을 구현하는 프로그램을 작성하는 것입니다.
전세계 인구
- 현재 연도의 마지막 두 자리를 가져옵니다.
- 허리케인 카트리나 (2005) 이후 윤년 (현재 연도 포함) 수를 뺍니다 . 이를 위해 4로 나눌 수있는 연도는 윤년으로 간주됩니다.
- 두 숫자 사이에 소수점을 추가하십시오 (10으로 나누는 것과 동일).
- 추가 6. 수십억의 사람들이 결과를 얻습니다.
미국 인구
- 현재 연도의 마지막 두 자리를 가져옵니다.
- 빼기 10.
- 3을 곱하십시오.
- 10을 더하십시오.
- 시작 부분에 3을 더하십시오 (이 문제의 경우 일부 숫자는 음수이므로 대신 300을 더하십시오). 어떻게 든 결과를 생성하는 데 사용 된 프로그램이 방금 300을 추가했기 때문에 연결하는 것이 효과가 없다는 것을 알지 못했습니다.
- 이것은 수백만의 사람들에게 결과를 제공합니다.
세부
이 공식은 "10 년 또는 2 년 동안 최신 상태를 유지해야하지만"이론적으로 2000 년에서 2039 년까지 모든 것을 다룰 수 있어야합니다. 경우에 따라 카트리나 이후의 윤년은 음수 또는 0이됩니다.
모든 출력이 아래 출력과 일치하는 한 어떤 식 으로든 수식을 단순화 할 수 있습니다.
연도에는 컴퓨터 시계에 따라 연도를 사용하십시오. 내년과 올해의 다른 세기에도 작동해야하므로 2015 년을 단순히 하드 코딩 할 수 없습니다. 편의를 위해 연도를 변수로 지정하거나 다른 연도를 테스트하기위한 입력을 포함하는 방법을 포함 할 수 있습니다.
산출량은 대략적인 세계 인구 (수십억 명), 그 뒤에 일부 구분 기호 (예 : 공백 또는 쉼표), 미국 인구 (수백만 명)가되어야합니다. 문자열이나 숫자 또는 문자열 배열을 반환하거나 인쇄하는 함수를 작성할 수도 있습니다.
이것은 코드 골프이므로 바이트 단위의 가장 짧은 코드가 이깁니다. Tiebreaker는 가장 빠른 게시물입니다.
테스트 사례
이것은 가능한 모든 연도의 목록이며 그 뒤에 두 개의 출력이 있습니다.
Year World U.S.
2000 6.1 280
2001 6.2 283
2002 6.3 286
2003 6.4 289
2004 6.4 292
2005 6.5 295
2006 6.6 298
2007 6.7 301
2008 6.7 304
2009 6.8 307
2010 6.9 310
2011 7 313
2012 7 316
2013 7.1 319
2014 7.2 322
2015 7.3 325
2016 7.3 328
2017 7.4 331
2018 7.5 334
2019 7.6 337
2020 7.6 340
2021 7.7 343
2022 7.8 346
2023 7.9 349
2024 7.9 352
2025 8 355
2026 8.1 358
2027 8.2 361
2028 8.2 364
2029 8.3 367
2030 8.4 370
2031 8.5 373
2032 8.5 376
2033 8.6 379
2034 8.7 382
2035 8.8 385
2036 8.8 388
2037 8.9 391
2038 9 394
2039 9.1 397
3
, 안 2040
인구를 줄 3100
? 40 - 10 = 30
, 30 * 3 = 90
, 90 + 10 = 100
, 줄 것이다"3" + "100" = 3100
280
의 결과로 -20+300=280
, 그렇지 않음 3 . -20= "3-20"
)