O homem morcego precisa de sua ajuda!
Você deve criar um algoritmo para o supercomputador da Batcaverna que deve ser capaz de calcular a probabilidade do arqui-inimigo Coringa atacar as imediações de Gotham.
Este algorítimo deve esperar um endereço, uma localidade ou uma coordenada (a torre do relógio ou a posiçao atual do Coringa, por exemplo). Quando o input for um endereço ou uma localidade, você deve transformá-lo em uma coordenada (utilizando Google, Yahoo, Bing, etc).
Você irá utilizar esta coordenada para determinar a probabilidade de um ataque do Coringa nos locais próximos, dentro dos limites de Gotham.
A probabilidade se dá pela distância linear entre o Coringa e o alvo, ou seja, quanto mais próximo, maior a probabilidade de um ataque. Para calcular a distância linear utilize a Fórmula de Haversine. Considere o raio da Terra como 6371km, e para facilitar desconsidere a elevação nos cálculos!
O raio de atuação do Coringa é de 2km, e a probabilidade máxima de ataque é de 95% nos casos em que o resultado seja maior que isso. (Afinal, quem entenderia o que se passa na cabeça do Coringa?!)
Lembre-se: O Batman é muito exigente, inclusive com a qualidade dos códigos. Surpreenda-o!
O endereço, localidade ou coordenada do vilão.
- GET /address?q=<endereço>
- GET /location?q=<localidade>
- GET /coordinate?q=<latitude>,<longitude>
A coordenada deve estar dentro dos limites de Gotham, caso contrário, é preciso notificar de alguma forma.
Cada resposta deve conter a localização do Coringa e as informações dos locais que sofrem risco de ataque.
Exemplo com dados fictícios.