Escreva uma função matemática que resulte em uma representação inteira de "olá mundo"
Por exemplo, "olá mundo" em hexadecimal é, 68656c6c6f20776f726c64
portanto, o objetivo será escrever um programa matemático que resulte em um número representando "olá mundo".
Aqui está um exemplo de uma possível solução usando python:
print(2*2*3*59*61*97*416510539*72330832279)==int("68656c6c6f20776f726c64", 16)
Qualquer tipo de equação matemática pode ser usada, como: potências, séries, fatoriais e outras operações matemáticas.
As regras:
Você pode selecionar sua própria maneira de codificar / representar "olá mundo" como um número inteiro. Funções hash também são permitidas
Bibliotecas matemáticas (por exemplo, numpy, GMP) são permitidas.
A intenção é focar na parte da matemática
math
popularity-contest
kyle k
fonte
fonte
Respostas:
Python 2.7
Alguns abusos do gerador de números aleatórios funcionam no Python 2.7, mas não no Python 3.x, pois o gerador parece ter alterado o algoritmo de propagação;
fonte
Farei melhor do que apenas imprimi-lo, imprimi-lo infinitamente várias vezes!
O número racional
retorna a seguinte expansão base-36:
Experimente! (Wolfram Alpha)
Ou, se você quiser uma mensagem mais subliminar, tente:
Que retorna (novamente na base 36):
Se seu programa funcionasse apenas com números inteiros, você nunca veria a parte fracionária.
fonte
Python
(ainda não finalizado ... ainda!)Finalizado! : DSaídas
126207244316550804821666916
(equivalente ao seu exemplo0x68656c6c6f20776f726c64
)fonte
Bem então...
PHP
onde 1 representa "olá mundo" porque eu disse isso.
fonte
10
em base- "olá mundo"Fonte da Calculadora / FreePascal
Eu posso ter problemas por postar isso, mas farei assim mesmo :-)
Se isso é muito preguiçoso, que tal isso:
círculos numerados de 0 a 5, cor determinada por abs (2n-1). Um dígito hexadecimal por círculo, quadrantes coloridos da parte mais significativa para baixo, no sentido horário, no canto inferior direito. Pelas constantes místicas 967EEF e EDF7E9 hex.
Agradecimentos especiais à primitiva a seguir e à Borland por colocá-la no TurboPascal para que o FreePascal pudesse cloná-la.
procedimento Setor (x: SmallInt; y: SmallInt; StAngle: Word; EndAngle: Word; XRadius: Word; YRadius: Word); Setor desenha e preenche um setor de uma elipse com centro (X, Y) e raios XRadius e YRadius, começando no ângulo Start e terminando no ângulo Stop.
fonte
Ruby e Python
Usando a matemática da base 36, chegamos a uma representação inteira com bastante facilidade no Ruby & Python:
Rubi
resultado:
ou, expresso como uma função geral:
exemplo:
Pitão
exemplo:
fonte
Alguns PHP cuidadosamente criados:
fonte
Esquema R6RS
Saídas # x68656c6c6f20776f726c64 (em decemal):
Minha implementação original foi:
Raquete (esquema de dialeto)
fonte
Javascript
O que está acontecendo?
Pegamos essa string e aplicamos um pouco
stringTheory()
(na verdade, é uma transmissão do futuro):'\2 Yo it\'s 4327 - Go to space, look back, and see the dot of a small blue rock you once sat on amid the vast empty void - KA-BOOM - you are in awe of it. "Ah" - so tiny in this vast space yet you are even more so. A mere atom in an ocean of stars, the earth a speck of dust to the sun\'s ping-pong ball. One day you shall go back and as your toes touch the soft soil once more, the cool wind in your hair as you cast your gaze upon the moon, a mere rock just like this one, and bask in it\'s warm glow - Ah. Only then can you know the scale of it all, what luck you have to call this place home. And with this new ken, a love you\'ve kept for all of time but had not seen - for it is clear to you now. You lay open your arms and fill the air with your song - (aah) ~o Good-bye space and ... o? \3'
Primeiro, dividimos na pontuação para formar palavras. Em seguida, criamos um conjunto de números convertendo os caracteres em seu código ASCII decimal. As letras anexas tornam-se números adjacentes (por exemplo,
aa
tornam-se9797
).Os números são então somados. O que recuperamos é
191212222216169
um número totalmente inútil, que não tem significado, como os quatrilhões de rochas que flutuam ociosamente no espaço. O que torna este mundo especial? Por que isso é vida? Então, dando a esse número o significado da vida,+=42
então obtemos191212222216211
;Mas por que?
O que isto significa? Por que isso significa, é
stringTheory("Hello world")
claro.fonte
Pitão
fonte
Rubi
Qualquer sequência é mapeada para um número inteiro.
A função inversa:
Exemplos:
fonte
C #
Um método para converter qualquer sequência (olá mundo ou outra coisa) em sequência hexadecimal
Um método para converter cadeia hexadecimal em cadeia
Aqui está o programa C # completo
E aqui está a saída.
fonte
Pitão
Recursivamente decompõe o número de destino em somas no máximo quatro quadrados. Meu caso base é <100. Eu usei http://www.alpertron.com.ar/FSQUARES.HTM para calcular as decomposições.
(Talvez um caso base <= 1 teria sido interessante ...)
fonte
Pitão
O resultado é realmente um número, eu juro!
fonte
Apenas um pouco de diversão com números, nada de especial.
demonstração
fonte
fonte