В xkcd 1047 Рэндалл Манро перечисляет «слегка неправильные» аппроксимации различных величин и чисел с различной точностью и сложностью, например, что количество литров в галлоне очень близко к 3 + π ⁄ 4 . В середине комикса он дает антракт: способ оценки мирового населения (и Соединенных Штатов) на основе данного года.
(Вырезано из xkcd: приближения Рэндалла Манро)
Ваша задача состоит в том, чтобы написать программу, которая реализует эти формулы для аппроксимации текущего мира и населения США, реплицируясь следующим образом.
Мировое население
- Возьмите последние две цифры текущего года.
- Вычтите число високосных лет (включая текущий год) после урагана Катрина (2005 г.). Для этих целей любой год, кратный 4, считается високосным.
- Добавьте десятичную точку между двумя числами (так же, как деление на 10).
- Добавить 6. Это дает результат в миллиардах людей.
Население США
- Возьмите последние две цифры текущего года.
- Вычтите 10.
- Умножьте на 3.
- Добавить 10
- Добавьте 3 к началу (для этого задания некоторые числа будут отрицательными, поэтому вместо них добавьте 300). Почему-то я не заметил, что просто конкатенация не сработает, потому что программа, которую я использовал для генерации результатов, только добавила 300.
- Это дает результат в миллионах людей.
Детали
Эта формула «должна оставаться актуальной в течение десяти или двух лет», но теоретически вы должны быть в состоянии справиться с любым 2000–2039 годом включительно. В некоторых случаях високосные годы после Катрины будут иметь отрицательное или нулевое значение.
Вы можете упростить формулу любым способом, если все выходные данные соответствуют приведенным ниже.
Для года используйте год по часам компьютера. Он должен работать в следующем году и в любой другой год этого столетия, поэтому вы не можете просто жестко кодировать 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"
)