Dado um N-gon regular com todas as diagonais desenhadas, quantas regiões as diagonais formam?
Por exemplo, um triângulo regular tem exatamente 1, um quadrado tem exatamente 4, o pentágono tem exatamente 11 e um hexágono tem 24.
- pontuação é inversamente proporcional ao número de bytes na solução
- pequenos fatores de correção podem ser adicionados às pontuações com base no tempo de execução
- a região ao redor do polígono não conta
Respostas:
Mathematica 118
Embora existam rotinas bem definidas para calcular o número de regiões em um n-gon regular com todas as diagonais desenhadas , elas são bastante complicadas. Eu pensei que seria divertido adotar uma abordagem de processamento de imagem : se desenharmos o n-gon com suas diagonais, seria possível contar as regiões da imagem desenhada (mais precisamente, da representação rasterizada e binarizada da imagem como uma matriz)?
A seguir, produz e processa uma imagem real de um polígono e determina o número de regiões a partir da imagem rasterizada.
Isso é o que pode ser chamado de solução de um engenheiro. Ele faz o trabalho, mas apenas dentro de algumas condições limitadas. (E é lento: o código acima demorou 4,24 s para ser executado.) A rotina acima funciona corretamente até e inclui um gráfico 14-Complete , mostrado abaixo. Achei isso surpreendente, considerando que algumas das 952 regiões são muito difíceis de ver, mesmo quando a imagem é exibida em 1200 por 1200 pixels.
A imagem abaixo é a imagem antes de ser rasterizada e binarizada.
fonte
Excel, 341 bytes
Implementa a fórmula dada no link Woflram Mathworld no comentário do @ mob.
Ungolfed por alguma clareza:
fonte