Ladrões - raiz quadrada de vezes quadrada

18

Tarefa: decifre o código codificado para multiplicar a raiz quadrada de um número inteiro n pelo quadrado dele!

Você deve postar um comentário no tópico da polícia com um link para sua fonte de trabalho, mencionando claramente que você o violou . No título da sua resposta, você deve incluir o link para a resposta original.

Regras:

  • Você só pode alterar a ordem dos caracteres na fonte original.
  • Respostas seguras não podem mais ser quebradas.
  • As outras regras mencionadas no tópico da polícia
  • Por favor, edite a resposta que você descobriu

VENCEDOR: Emigna - 10 envios (problemas para contar)

Menções honrosas: Notjagan, Plannapus, TEHTMI

Mr. Xcoder
fonte

Respostas:

3

NÃO , 41 bytes, Esse cara

NOOOOOO?NOOOOOOOOOOO!nnOOOOO
NOOOOOOOO?no
Emigna
fonte
Verdade? Bem, pelo menos, eu tenho meu idioma conhecido.
caird coinheringaahing
@ThisGuy: Você criou algumas linguagens divertidas :) No entanto, não é muito útil em geral;)
Emigna
Veja o segundo parágrafo
caird coinheringaahing
9

JavaScript (ES7), Neil

_26_=>_26_**6.25**.5

A parte difícil, é claro, foi descobrir o que fazer com todos os personagens extras. (E também não postando esta solução no segmento errado, como fiz acidentalmente no início. Oopsie ...)

Ilmari Karonen
fonte
1
@SethWhite: Eu tive que usar todos os caracteres que Neil usou em seu código embaralhado, caso contrário, isso não seria um crack válido.
Ilmari Karonen
Como é que isso funciona?
Arjun
@Arjun _26_=>define uma função anônima usando um parâmetro chamado _26_(variáveis ​​podem começar com um sublinhado, mas não um número). Em seguida, o restante está apenas usando **como Math.pow()para elevar a entrada à potência de 2,5 (6,25 potência 0,5).
Joe
Ah! Eu estava pensando que isso _26_era algo específico do ES7. Não sabia que variáveis ​​também podem estar nesta forma! (Eu nunca vi uma variável sem alfabeto). Essa foi uma abordagem muito inteligente da @Neil. E você também foi muito esperto em quebrá-lo! Tenha seu merecido +1! :)
Arjun
6

Python, 15 bytes, Sr. Xcoder

lambda x:x**2.5

Bem simples. Apenas pega xe aumenta para o 2.5poder th.

Kritixi Lithos
fonte
6

OCaml, 13 bytes, shooqie

fun f->f**2.5

Experimente online!

dada
fonte
Eu estava postando agora mesmo! Não posso acreditar! Bom trabalho!
Mr. Xcoder
4

C ++ (gcc) , 100 bytes, Sr. Xcoder

#include<math.h>
#include"iostream"
using namespace std;int main(){float n;cin>>n;cout<<pow(n,2.5);}

Experimente online!

fergusq
fonte
Bem feito! Por favor, edite a resposta que você criou, porque não posso fazer isso agora!
Mr. Xcoder
Um usuário anônimo sugeriu uma edição para salvar 8 bytes através da remoção do usinge apenas fazendoint main(){float n;std::cin>>n;std::cout<<pow(n,2.5);}
Martin Ender
Guardar outro byte #including <cmath> em vez de math.h. :)
zyndor
4

Haskell, Leo

x=exp.(2.5*).log

Uma função sem ponto chamada x. Uso: x 4->32.0

nimi
fonte
4

Inform 7 , corvus_192

Legal, uma entrada do Inform7. :) Eu apenas tive que tentar este.

Tenho certeza de que esta é a solução pretendida:

R is a room.

To f (n - number): say "[n * n * real square root of n]".

Observe que esta solução só funciona se compilada com o back-end Glulx, devido ao uso da real square root offunção.


Entre, aspas duplas e colchetes são realmente desnecessários; só say n * n * real square root of niria funcionar tão bem. Os períodos no final dos comandos também poderiam ser omitidos; ou podemos manter o primeiro período e nos livrar das novas linhas. Outras partes do código que poderíamos aparar incluem o artigo "a" antes da "sala" e os espaços antes dos parênteses e depois dos dois pontos. Felizmente, como temos um par de colchetes sobressalentes, sempre podemos usá-los para comentar todos esses caracteres extras. ;) Portanto, também é uma solução válida:

R is room.To f(n - number):say n * n * real square root of n[
" a . "
]

Para testar essa solução interativamente, é conveniente anexar algo como o seguinte equipamento de teste ao código:

Effing is an action applying to one number.
Understand "f [number]" as effing.
Carry out effing: f the number understood.

Após compilar e executar o programa, você pode digitar, por exemplo, f 4. f 6. f 9. f 25no >prompt e receber algo como a seguinte saída:

Welcome
An Interactive Fiction
Release 1 / Serial number 170404 / Inform 7 build 6L38 (I6/v6.33 lib 6/12N) SD

R

>f 4. f 6. f 9. f 25
32.0
88.18164
243.0
3125.0
>

BTW, acabei de notar que o Inform (ou presumivelmente, o Glulx) arredonda a última casa decimal do f 6erro: o valor correto está muito mais próximo de 88.18163 do que de 88.18164. Felizmente, acho que isso não afeta a correção das soluções, principalmente porque o desafio especificava "qualquer mecanismo de arredondamento de sua escolha". :)

Ilmari Karonen
fonte
Tenho certeza de que encontrei um violino do Inform 7 há algum tempo, mas não consigo encontrá-lo quando procuro. Você sabe se existe algum intérprete online em algum lugar?
Solha das
@Flounderer: Eu realmente não conheço nenhum. Certamente existem players on-line (mesmo baseados em JS) para o bytecode da máquina Glulx / Z produzido pelo compilador Inform 7, mas não estou ciente de nada que possa levar diretamente o código-fonte do Inform 7, compilar e executá-lo on-line. O compilador / IDE é bastante fácil de instalar; no Ubuntu Linux, é tão fácil quanto apt-get install gnome-inform7.
Ilmari Karonen
4

Mathematica, Greg Martin

f[y_]:=With[{x=
    #&@@{#(#)#^(1/(1+1))&@y,#&@@@{1^(1),-1}}
},Print[#,".",IntegerString[Round@#2,10,3]]&@@QuotientRemainder[1000x,1000]]

Obrigado por deixar o material de arredondamento intacto!

Explicação: #(#)#^(1/(1+1))&@yfaz o trabalho principal de multiplicar yao quadrado, aka y(y), e yraiz quadrada de y^(1/(1+1)). O #&@@@{1^(1),-1}bit é apenas lixo para usar as outras letras e #&@@escolhe o bit útil do lixo.

Não é uma árvore
fonte
4

MATL , 12 bytes, Luis Mendo

10'U&+:'n/^P

Calcule 10/4 = 2,5 com 4 provenientes do comprimento da string. Use isso como um expoente. P é um não-op aqui.

tehtmi
fonte
4

Python 3, 44 bytes, Kyle Gullion

Aqueles *eram bastante enganadores. Muito esperto!

lambda i:i**(lambda o,r:o/r)(*map(ord,'i*'))

Devido ao conjunto de caracteres bastante limitado, ficaria muito surpreso se houvesse outras soluções válidas além de renomear trivialmente ou reordenar argumentos.

KSab
fonte
Você me pegou, muito bem feito!
precisa
3

R, Steadybox

y<-function(p)(p^(1/2)*p^2);

parece ser um anagrama de funny(p1)-tio(^*^)/pc(2)<p2;

Solha
fonte
3

Python 2, 60 bytes, Anthony Pham

print    (input()**(5.0/(2*5554448893999/5554448893840))-0)

Baseado no descarte de caracteres através da divisão flutuante do Python 2 (o padrão /entre números inteiros).

notjagan
fonte
3

C, 50 bytes, Dave

double b(float \ufa2d){return pow(\ufa2d,25e-1);%>

Experimente online!

Isso requer -lmsinalizador de compilador, mas não sei como seria possível resolver isso sem ele.

fergusq
fonte
correto e quase exatamente o que eu tinha (a variável foi nomeada \uad2fna minha). Bem feito; Eu pensei que tinha deixado arenques suficientes lá para manter as pessoas ocupadas por muito mais tempo! Além disso, a -lmbandeira não era necessária para eu usar o Clang (eu teria mencionado isso!), Mas você está certo de que, estritamente falando, é necessário.
Dave
3

R, Solha

Este é um crack da solução de 33 bytes do @Flounderer

scan()^(floor(pi)-1/2)-sin(7*0e1)

Uso:

> scan()^(floor(pi)-1/2)-sin(7*0e1)
1: 4
2: 
Read 1 item
[1] 32
> scan()^(floor(pi)-1/2)-sin(7*0e1)
1: 6
2: 
Read 1 item
[1] 88.18163
> scan()^(floor(pi)-1/2)-sin(7*0e1)
1: 9
2: 
Read 1 item
[1] 243
> scan()^(floor(pi)-1/2)-sin(7*0e1)
1: 25
2: 
Read 1 item
[1] 3125
plannapus
fonte
Sim, esta não é a solução pretendida sin(pi), mas infelizmente funciona! +1
Flounderer
Foiscan()^(-floor(-sin(pi)*2e17)/10)
Flounderer
3

RProgN 2, ATaco

]2^\š*

Aparentemente, o StackExchange precisa de caracteres extras, então aqui está.

notjagan
fonte
Minha solução foi ]š\2^*, mas ambos funcionam da mesma maneira.
ATaco 4/04
3

HODOR, 198, esse cara

Walder
Hodor?!
hodor.
Hodor, Hodor Hodor Hodor Hodor Hodor Hodor Hodor, Hodor Hodor,
hodor,
Hodor, Hodor Hodor Hodor Hodor Hodor Hodor, Hodor Hodor,
Hodor, Hodor Hodor Hodor, hodor!,
HODOR!!
HODOR!!!

Explicação:

Start
read input into accumulator
copy accumulator to storage
Do math, option 7(nth root), n=2
swap storage and accumulator
Do math, option 6(nth power), n=2
Do math, option 3(times), storage
output accumulator as a number
end

nota: tive que fazer algumas modificações no interpretador get para executar na minha máquina (a que você postou não parece aceitar minúsculas h, entre outras coisas)

Além disso, parece que eu não tenho representante suficiente para comentar, por isso, se alguém pudesse informar @This Guy, ficaria agradecido

Eu acho que isso corrigiu o erro, o código agora começa com Walder em vez de Wylis, que adiciona o byte extra

wwj
fonte
Quase lá. Teve que mudar um erro no meu código para que o seu não esteja certo.
você precisa saber é o seguinte
corrigido o comando start
Wwj
Embora você tivesse, mas você optou por um método diferente de mim que usa o mesmo número de bytes. Sua resposta faria o que você queria, mas não é a mesma que a minha. Também tive que mudar o nome por causa disso, então fiz uma edição em suas postagens.
você precisa saber é o seguinte
para esclarecimento, isso ainda conta como uma rachadura, ou preciso corresponder exatamente?
Wwj
Não tenho muita certeza. Eu vou perguntar nos comentários. Marcar com +1 sua solução está me fazendo pensar muito!
caird coinheringaahing
3

C #, 172 bytes, raznagul

A parte mais difícil foi descobrir o que fazer com todas as sobras.

using System;using S=System.Console;class PMabddellorttuuv{static void Main(){S.Write(Math.Pow(double.Parse(S.ReadLine()),2.5));Func<double> o;int q=1,M=q*2,b,e;q*=(q*M);}}
SLuck49
fonte
Agradável! Também fiquei preso nas sobras. Não pensou em adicioná-los ao nome da turma, doh !. Bom trabalho!
Emigna
+1 Não é o que eu pretendia, mas uma solução muito agradável. ;)
raznagul
3

EXCEL, 26 bytes pajonk

=SQRT(A1)*A1^2/1/ISNA(IP2)

A1 como IP2 de entrada contém uma segunda entrada com um erro # N / D, neste caso, ISNA (IP2) pertence a 1

Por um adicional () , podemos fazer isso

=SQRT(A1)*A1^2/ISNA(PI(1/2))
Jörg Hülsermann
fonte
A segunda entrada é permitida em tal desafio?
Pajonk
@pajonk As regras dizem "Você pode tirar a entrada de qualquer forma padrão" assim que eu supor que você fazer este truque com uma segunda entrada
Jörg Hülsermann
@pajonk Tenho melhorar meu post poderia sido a de que você tem fazer um pequeno erro
Jörg Hülsermann
A maneira padrão de obter um número é (eu acho) receber uma entrada. Na minha opinião, a segunda entrada seria injusta e contra as regras. PS Não há erro no número de colchetes.
Pajonk
@ pajonk Não posso usar combinações com SIN e PI, pois não há colchetes suficientes. =SQRT(A1)*A1^2/SIN(PI()/2)Se você definir o erro #NA através da formatação ou outra coisa, eu o veria como uma segunda entrada adicional. SQRT e ISNA são as únicas duas funções que fazem um pouco de sentido. Mas, por favor, pergunte ao homem que desenvolveu a pergunta
Jörg Hülsermann
3

Python 3.6, 64 bytes, Sr. Xcoder

php38af4r2aoot2srm0itpfpmm0726991i=     (lambda x:x**2.5*1*1/1);

Talvez não o que foi planejado, mas funciona;)

$ python3
Python 3.6.1 (default, Apr  4 2017, 09:36:47) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> php38af4r2aoot2srm0itpfpmm0726991i=     (lambda x:x**2.5*1*1/1);
>>> php38af4r2aoot2srm0itpfpmm0726991i(6)
88.18163074019441
>>> php38af4r2aoot2srm0itpfpmm0726991i(4)
32.0
>>> php38af4r2aoot2srm0itpfpmm0726991i(25)
3125.0

Ainda não há representante suficiente para comentar a resposta da polícia, desculpe ... Gostaria que alguém pudesse fazer isso por mim, obrigado!

user4867444
fonte
@Senhor. Xcoder, como dito acima, não pode comentar sua postagem no tópico da polícia, desculpe por isso :)
usuário4867444
Vim postar uma solução semelhante from math import pi as pp0012223467899;f=lambda x:x**2.5*1*(1)/1só para ver que fui derrotado. Adicionei um link para este post no tópico da polícia para você.
precisa saber é o seguinte
3

Röda , 28 bytes, fergusq

f(n){push n^0.5,n^2|product}
tehtmi
fonte
3

Python 2.7, Koishore Roy

s=e=x=y=input()**0.5
print'%.3f'%(y**(5.0))
ovs
fonte
Ou y=x=e=s, ambos funcionam :)) Bom trabalho de qualquer maneira!
Mr. Xcoder
Bom trabalho. : P Agora preciso trabalhar em um novo código. Droga!
Koishore Roy
3

R, Solha

Esta é uma rachadura da solução de 31 bytes do Flounderer:

`[.`=function(`]`)`]`^`[`(lh,9)

Ok, isso foi difícil. Ele cria uma função chamada `[.`. O argumento para a função é chamado `]`que é elevado à potência 2,5 usando o 9º elemento da série temporal interna lh("uma série temporal regular que fornece o hormônio luteinizante em amostras de sangue a intervalos de 10 minutos de uma fêmea humana, 48 amostras"). . "que é usado como exemplo em um dos pacotes base de R). lh[9]está aqui em cima substituído por seu equivalente `[`(lh, 9). Desfocada pela substituição fdo nome da função e do nome ndo argumento, a função se torna f=function(n)n^lh[9].

Uso:

> `[.`=function(`]`)`]`^`[`(lh,9)
> `[.`(4)
[1] 32
> `[.`(6)
[1] 88.18163
> `[.`(9)
[1] 243
> `[.`(25)
[1] 3125
plannapus
fonte
2

Python 2, 44 bytes, Anthony Pham

print int(raw_input())**(0+000000000000.5*5)

Pega a entrada de raw_input, converte em int e aumenta em potência 2.5

fəˈnɛtɪk
fonte
2

JavaScript, fəˈnɛtɪk

n=>n**("ggggg".length*2**(-"g".length))// ""((((((()))))))***,-...;;=====>Seeeeegggghhhhhhhhhilllnnnnnnorrrsstttttttttttu{}

Obtém 5/2 a 5 vezes 2 à primeira potência negativa, onde 5 e 1 foram recebidos do comprimento das seqüências de caracteres. Tomou o caminho mais fácil em um sentido, comentando os caracteres estranhos.

notjagan
fonte
2

C #, 112 bytes, Jan Ivan

using System;class P{static void Main(){var b=Math.Pow(double.Parse(Console.ReadLine()),2.5);Console.Write(b);}}
Emigna
fonte
2

05AB1E , 47 bytes, Okx

).2555BFHIJJKKKPQRS``„cg…ghi…lsw…x}T…Áöž«‚¹n¹t*

Experimente online!

Emigna
fonte
Ah, eu sabia que haveria uma solução alternativa para o método que eu usei para "proteger" o código. Bem feito!
Okx 04/04/19
@Okx: Sim, o 05AB1E é muito complicado de preencher com código extra sem torná-lo ignorável.
Emigna
Vou ver se consigo torná-lo mais complicado;)
Okx 04/04/19
@Okx: Estou ansioso por isso :) Eu também tenho uma idéia que posso tentar implementar depois do trabalho;)
Emigna
2

Bola de fogo , 8 bytes, Okx

♥²♥1Z/^*

Explicação:

♥²♥1Z/^*
♥²       Push first input squared.
  ♥      Push first input again.
   1Z/   Push 1/2
      ^  First input to the 1/2th
       * Multiply square and root

Não tenho certeza se funciona. Atualmente, não tenho java no meu laptop. :(

Roman Gräf
fonte
Eu não acho que isso funcione. Solução fácil, porém, eu darei a resposta. Você só precisa trocar o Z1em 1Z.
Okx 04/04/19
Eu tinha certeza que cometi um erro lá. Atualizada.
Roman Gräf 04/04
2

Haskell , 64 bytes, @nimi

product.(<$>(($(succ.cos$0))<$>[(flip<$>flip)id$id,recip])).(**)

Experimente online! Essa foi divertida. A primeira vez product.(<$>(($succ(cos$0))<$>[id,recip])).(**)que descobri qual se comporta corretamente e que tinha que caber flip flip <$> () $ id .em algum lugar nela.

Laikoni
fonte
2

R, caixa fixa

a222=function(s)(s**0.5)*s**2**1

Uso:

> a222=function(s)(s**0.5)*s**2**1
> a222(4)
[1] 32
> a222(6)
[1] 88.18163
> a222(9)
[1] 243
> a222(25)
[1] 3125
plannapus
fonte
Original:a=function(s)s**2*s**(0.125*2*2)
Steadybox
2

05AB1E , 22 bytes, P. Knops

n¹t*qA9¥="'?:@->%#[{!.

Experimente online!

Explicação

n      # square of input
   *   # times
 ¹t    # square root of input
    q  # end program

O restante das operações nunca é executado.
Poderíamos ter feito isso sem o resultado q, tendo ?após o cálculo e escapado do sinal de igualdade, por exemplo, com'= .

Emigna
fonte
1
Estava apenas fazendo isso por diversão: D
P. Knops 04/04
@ P.Knops: Essa é a melhor razão :)
Emigna