Dans xkcd 1047 , Randall Munroe cite des approximations "légèrement fausses" de quantités et de nombres assortis avec une précision et une complexité variables, telles que le nombre de litres dans un gallon est très proche de 3 + π ⁄ 4 . Au milieu de la bande dessinée, il donne un entracte: un moyen d’estimer la population mondiale (et américaine) pour une année donnée.
(Recadré de xkcd: approximations de Randall Munroe)
Votre tâche consiste à écrire un programme qui implémente ces formules pour se rapprocher des populations mondiales et américaines actuelles, reproduit comme suit.
Population mondiale
- Prenez les deux derniers chiffres de l'année en cours.
- Soustrayez le nombre d'années bissextiles (y compris l'année en cours) depuis l' ouragan Katrina (2005). À ces fins, toute année divisible par 4 est considérée comme une année bissextile.
- Ajoutez une virgule décimale entre les deux nombres (identique à la division par 10).
- Ajoutez 6. Cela donne le résultat en milliards de personnes.
Population américaine
- Prenez les deux derniers chiffres de l'année en cours.
- Soustrayez 10.
- Multiplier par 3.
- Ajoutez 10.
- Ajoutez 3 au début (pour ce défi, certains nombres seront négatifs, ajoutez donc 300 à la place). D'une manière ou d'une autre, je n'ai pas remarqué que le simple fait de concaténer ne fonctionnerait pas car le programme avec lequel j'avais l'habitude de générer les résultats en ajoutait 300.
- Cela donne le résultat en millions de personnes.
Détails
Cette formule "devrait rester d'actualité pendant une décennie ou deux", mais vous devez être en mesure de gérer théoriquement toute année 2000-2039 incluse. Dans certains cas, les années bissextiles depuis Katrina auront une valeur négative ou nulle.
Vous êtes libre de simplifier la formule de quelque manière que ce soit, à condition que toutes les sorties correspondent à celles ci-dessous.
Pour l'année, utilisez l'année en fonction de l'horloge de l'ordinateur. Cela doit fonctionner l'année prochaine et toute autre année du siècle, vous ne pouvez donc pas simplement coder 2015 en dur. Pour plus de commodité, vous pouvez inclure un moyen de spécifier l'année en tant que variable ou en tant qu'entrée pour tester d'autres années.
Le résultat devrait être la population mondiale approximative (en milliards de personnes), suivie d'un délimiteur (par exemple, l'espace ou une virgule), suivie de la population américaine (en millions de personnes). Vous pouvez également écrire une fonction qui renvoie ou imprime une chaîne ou un tableau de nombres ou de chaînes.
C'est le code de golf, donc le code le plus court en octets gagne. Tiebreaker est le premier post.
Cas de test
Ceci est une liste de toutes les années possibles, suivie des deux sorties.
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
, ne devriez-vous pas en 2040
donner une population 3100
? 40 - 10 = 30
, 30 * 3 = 90
, 90 + 10 = 100
, Ce qui donnerait"3" + "100" = 3100
280
à la suite de -20+300=280
et non 3 . -20= "3-20"
)