En xkcd 1047 , Randall Munroe enumera aproximaciones "ligeramente incorrectas" de cantidades y números variados con precisión y complejidad variables, como que el número de litros en un galón es muy cercano a 3 + π ⁄ 4 . En el medio del cómic, da un intermedio: una forma de estimar la población mundial (y de los Estados Unidos) en función de un año determinado.
(Recortado de xkcd: Aproximaciones de Randall Munroe)
Su tarea es escribir un programa que implemente estas fórmulas para aproximarse al mundo actual y a las poblaciones de los Estados Unidos, replicado de la siguiente manera.
Población mundial
- Tome los dos últimos dígitos del año actual.
- Reste el número de años bisiestos (incluido el año actual) desde el huracán Katrina (2005). Para estos fines, cualquier año divisible por 4 se considera un año bisiesto.
- Agregue un punto decimal entre los dos números (lo mismo que dividir por 10).
- Agregue 6. Esto da el resultado en miles de millones de personas.
Población estadounidense
- Tome los dos últimos dígitos del año actual.
- Restar 10.
- Multiplica por 3.
- Añadir 10.
- Agregue 3 al principio (para este desafío, algunos números serán negativos, así que agregue 300 en su lugar). De alguna manera, no me di cuenta de que la concatenación no funcionaría porque el programa que usé para generar los resultados acaba de agregar 300.
- Esto da el resultado en millones de personas.
Detalles
Esta fórmula "debería mantenerse actualizada durante una década o dos", pero debe ser capaz de manejar teóricamente cualquier año 2000-2039 inclusive. En algunos casos, los años bisiestos desde Katrina tendrán un valor negativo o cero.
Usted es libre de simplificar la fórmula de cualquier manera, siempre que todas las salidas coincidan con las siguientes.
Para el año, use el año de acuerdo con el reloj de la computadora. Debe funcionar el próximo año y cualquier otro año de este siglo, por lo que no puede simplemente codificar el 2015. Para su comodidad, es posible que desee incluir una forma de especificar el año como una variable o entrada para probar otros años.
El resultado debería ser la población mundial aproximada (en miles de millones de personas), seguida de algún delimitador (por ejemplo, espacio o coma), seguida de la población de los Estados Unidos (en millones de personas). También puede escribir una función que devuelva o imprima una cadena o una matriz de números o cadenas.
Este es el código de golf, por lo que gana el código más corto en bytes. Tiebreaker es la primera publicación.
Casos de prueba
Esta es una lista de todos los años posibles, seguida de los dos resultados.
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
, ¿no debería 2040
dar una población de 3100
? 40 - 10 = 30
, 30 * 3 = 90
, 90 + 10 = 100
, Lo que daría"3" + "100" = 3100
280
como resultado -20+300=280
y no 3 . -20= "3-20"
)