Perampok - kali kuadrat akar


18

Tugas: Crack kode bergegas untuk mengalikan akar kuadrat dari bilangan bulat n oleh persegi itu!

Anda harus memposting komentar di utas polisi dengan tautan ke sumber kerja Anda, menyebutkan dengan jelas bahwa Anda telah memecahkannya . Dalam judul jawaban Anda, Anda harus memasukkan tautan ke jawaban asli.

Aturan:

  • Anda hanya dapat mengubah urutan karakter di sumber aslinya.
  • Jawaban aman tidak dapat dipecahkan lagi.
  • Aturan lain yang disebutkan di utas polisi
  • Harap edit jawaban yang Anda crack

WINNER: Emigna - 10 submissons (kesulitan menghitung)

Sebutan terhormat: Notjagan, Plannapus, TEHTMI

Jawaban:



9

JavaScript (ES7), Neil

_26_=>_26_**6.25**.5

Bagian yang sulit, tentu saja, mencari tahu apa yang harus dilakukan dengan semua karakter tambahan. (Dan juga tidak memposting solusi ini di utas yang salah, seperti yang saya tidak sengaja lakukan pada awalnya. Oopsi ...)


1
@SethWhite: Saya harus menggunakan semua karakter yang digunakan Neil dalam kode acaknya, kalau tidak, ini tidak akan menjadi celah yang valid.
Ilmari Karonen

Bagaimana cara kerjanya?
Arjun

@ Arjun _26_=>mendefinisikan fungsi anonim dengan mengambil satu parameter yang disebut _26_(variabel dapat dimulai dengan garis bawah tetapi bukan angka). Kemudian sisanya hanya menggunakan **sebagai Math.pow()menaikkan input ke kekuatan 2,5 (6,25 kekuatan 0,5).
Joe

Ah! Saya berpikir itu _26_adalah sesuatu yang ES7 spesifik. Tidak tahu bahwa variabel juga bisa dalam formulir ini! (Saya belum pernah melihat variabel tanpa alfabet). Itu adalah pendekatan yang sangat cerdas oleh @Neil. Dan kamu juga sangat pintar dalam memecahkannya! Dapatkan +1 Anda yang memang layak! :)
Arjun



4

C ++ (gcc) , 100 byte, Mr. Xcoder

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

Cobalah online!


Sudah selesai dilakukan dengan baik! Harap edit jawaban yang Anda crack, karena saya tidak bisa melakukannya sekarang!
Tn. Xcoder

Seorang pengguna anonim menyarankan edit untuk menyimpan 8 byte dengan menghapus usingdan hanya melakukanint main(){float n;std::cin>>n;std::cout<<pow(n,2.5);}
Martin Ender

Simpan byte lain #termasuk <cmath> alih-alih math.h. :)
zyndor

4

Haskell, Leo

x=exp.(2.5*).log

Fungsi pointfree bernama x. Penggunaan: x 4->32.0


4

Informasikan 7 , corvus_192

Keren, entri Inform7. :) Saya hanya harus mencoba yang ini.

Saya cukup yakin ini adalah solusi yang dimaksudkan:

R is a room.

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

Perhatikan bahwa solusi ini hanya berfungsi jika dikompilasi dengan back-end Glulx, karena penggunaan real square root offungsi.


BTW, tanda kutip ganda dan tanda kurung siku sebenarnya tidak perlu; hanya say n * n * real square root of nakan bekerja dengan baik. Periode di akhir perintah bisa dihilangkan juga; atau kita bisa menjaga periode pertama dan menyingkirkan baris baru sebagai gantinya. Bagian lain dari kode yang dapat kita potong termasuk artikel "a" sebelum "room" dan spasi sebelum tanda kurung dan setelah titik dua. Untungnya, karena kita punya sepasang tanda kurung, kita selalu dapat menggunakannya untuk mengomentari semua karakter tambahan ini. ;) Jadi ini adalah solusi yang valid juga:

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

Untuk menguji solusi ini secara interaktif, lebih mudah untuk menambahkan sesuatu seperti test harness berikut ke kode:

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

Setelah mengkompilasi dan menjalankan program, Anda dapat mengetik misalnya f 4. f 6. f 9. f 25pada >prompt dan menerima sesuatu seperti output berikut:

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, saya baru saja memperhatikan bahwa Inform (atau mungkin, lebih tepatnya, Glulx) mengitari tempat desimal terakhir yang f 6salah: nilai yang benar jauh lebih dekat ke 88,18163 daripada ke 88,18164. Untungnya, saya tidak berpikir ini mempengaruhi kebenaran solusi, terutama karena tantangannya menentukan "mekanisme pembulatan pilihan Anda". :)


Saya yakin saya menemukan biola Inform 7 beberapa waktu yang lalu, tetapi saya tidak dapat menemukannya ketika saya mencari. Apakah Anda tahu jika ada juru bahasa online di mana saja?
Flounderer

@Flounderer: Saya tidak benar-benar tahu. Tentu saja ada pemain online (bahkan berbasis JS) untuk bytecode mesin Glulx / Z yang diproduksi oleh kompiler Inform 7, tetapi saya tidak mengetahui apa pun yang akan secara langsung mengambil kode sumber Inform 7 dan mengkompilasi dan menjalankannya secara online. Compiler / IDE cukup mudah untuk diinstal, meskipun; di Ubuntu Linux, itu semudah 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]]

Terima kasih telah meninggalkan barang-barang pembulatan utuh!

Penjelasan: #(#)#^(1/(1+1))&@yapakah pekerjaan utama mengalikan ykuadrat, alias y(y), dan yakar kuadrat y^(1/(1+1)),. The #&@@@{1^(1),-1}bit hanya sampah untuk menggunakan huruf-huruf lainnya, dan #&@@memilih keluar sedikit berguna dari sampah.


4

MATL , 12 byte, Luis Mendo

10'U&+:'n/^P

Hitung 10/4 = 2.5 dengan 4 berasal dari panjang string. Gunakan ini sebagai eksponen. P adalah no-op di sini.


4

Python 3, 44 byte, Kyle Gullion

Itu *cukup menyesatkan. Sangat pintar!

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

Karena rangkaian karakter yang sangat terbatas, saya akan sangat terkejut jika ada solusi lain yang valid di luar penggantian nama sepele atau menata ulang argumen.


Anda menangkap saya, bagus sekali!
Kyle Gullion


3

Python 2, 60 byte, Anthony Pham

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

Berdasarkan membuang karakter melalui divisi float Python 2 (default untuk /antar integer).


3

C, 50 byte, Dave

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

Cobalah online!

Ini memerlukan -lmflag compiler, tapi saya tidak tahu bagaimana mungkin untuk menyelesaikannya tanpa itu.


benar, dan hampir persis apa yang saya miliki (variabel dinamai \uad2fmilik saya). Sudah selesai dilakukan dengan baik; Kupikir aku sudah meninggalkan cukup banyak ikan haring merah di sana untuk membuat orang lebih sibuk lagi! Juga -lmbendera itu tidak diperlukan untuk saya menggunakan Dentang (saya sudah sebutkan itu!) Tapi Anda benar bahwa itu benar-benar diperlukan.
Dave

3

R, Flounderer

Ini adalah celah dari solusi 33 byte dari @Flounderer

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

Pemakaian:

> 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

Ya, ini bukan solusi yang dimaksudkan yang terlibat sin(pi), tetapi sayangnya itu berhasil! +1
Flounderer

Ituscan()^(-floor(-sin(pi)*2e17)/10)
Flounderer

3

RProgN 2, ATaco

]2^\š*

Rupanya StackExchange membutuhkan karakter tambahan, jadi begini.


Solusi saya adalah ]š\2^*, tetapi keduanya bekerja dengan cara yang sama.
ATaco

3

HODOR, 198, Orang Ini

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!!!

Penjelasan:

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

Catatan: Saya harus membuat beberapa modifikasi agar interpreter dijalankan di komputer saya (yang Anda posting sepertinya tidak menerima huruf kecil h, di antara beberapa hal lain)

Juga, saya sepertinya tidak punya cukup perwakilan untuk berkomentar, jadi jika seseorang bisa memberi tahu @The Guy ini, saya akan berterima kasih

Saya pikir ini memperbaiki kesalahan, sekarang kode dimulai dengan Walder bukan Wylis, yang menambahkan byte tambahan


Hampir sampai. Harus mengubah kesalahan dalam kode saya sehingga Anda tidak benar.
caird coinheringaahing

memperbaiki perintah mulai
wwj

Meskipun Anda memilikinya tetapi Anda menggunakan metode yang berbeda dari saya yang menggunakan jumlah byte yang sama. Jawaban Anda akan melakukan apa yang Anda inginkan tetapi tidak sama dengan jawaban saya. Saya juga harus mengganti nama karena ini, jadi saya mengedit posting Anda.
caird coinheringaahing

untuk klarifikasi, apakah ini masih dianggap sebagai celah, atau apakah saya harus benar-benar cocok?
wwj

Saya tidak begitu yakin. Saya akan bertanya di komentar. Memberi +1 solusi Anda membuat saya berpikir sangat keras!
caird coinheringaahing

3

C #, 172 byte, raznagul

Bagian tersulit adalah mencari tahu apa yang harus dilakukan dengan semua sisa makanan.

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);}}

Bagus! Saya terjebak pada sisa makanan juga. Tidak terpikir untuk menambahkannya ke nama kelas, doh !. Kerja bagus!
Emigna

+1 Bukan yang saya maksudkan, tetapi solusi yang sangat bagus. ;)
raznagul

3

EXCEL, 26 Bytes pajonk

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

A1 sebagai input IP2 berisi input kedua dengan Kesalahan # N / A dalam hal ini ISNA (IP2) milik 1

Untuk tambahan () kita bisa melakukan ini

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

Apakah input kedua diperbolehkan dalam tantangan seperti itu?
pajonk

@pajonk Aturannya mengatakan "Anda dapat mengambil input dengan cara standar apa pun" jadi saya berasumsi bahwa Anda membuat trik ini dengan input kedua
Jörg Hülsermann

@pajonk Saya telah memperbaiki posting saya bisa jadi Anda telah melakukan sedikit kesalahan
Jörg Hülsermann

Cara standar untuk mengambil satu angka adalah (saya pikir) mengambil satu input. Menurut saya input kedua akan tidak adil dan melanggar aturan. PS Tidak ada kesalahan dalam jumlah tanda kurung.
pajonk

@pajonk Saya tidak bisa menggunakan kombinasi dengan SIN dan PI karena tidak ada tanda kurung yang cukup. =SQRT(A1)*A1^2/SIN(PI()/2)Jika Anda mengatur #NA Error melalui formating atau yang lain saya akan melihatnya sebagai input kedua tambahan. SQRT dan ISNA adalah satu-satunya fungsi yang masuk akal. Tetapi tolong tanyakan orang yang telah mengembangkan pertanyaan
Jörg Hülsermann

3

Python 3.6, 64 byte, Mr. Xcoder

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

Mungkin bukan yang dimaksudkan, tetapi berhasil;)

$ 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

Belum cukup perwakilan untuk mengomentari jawaban utas polisi, maaf ... Sangat menghargai jika ada yang bisa melakukannya untuk saya, terima kasih!


@Pak. Xcoder, seperti yang disebutkan di atas, tidak dapat mengomentari kiriman Anda di utas polisi, maaf soal itu :)
user4867444

Datang untuk memposting solusi yang sama from math import pi as pp0012223467899;f=lambda x:x**2.5*1*(1)/1hanya untuk melihat saya telah dipukuli. Saya telah menambahkan tautan ke pos ini di utas polisi untuk Anda.
Kyle Gullion



3

R, Flounderer

Ini adalah celah dari solusi 31-byte @ Flounderer:

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

Ok itu yang sulit. Ini menciptakan fungsi yang disebut `[.`. Argumen untuk fungsi ini disebut `]`yang dinaikkan ke daya 2,5 dengan menggunakan elemen ke-9 dari time- lhseries ("seri waktu reguler yang memberikan hormon luteinizing dalam sampel darah pada interval 10 menit dari wanita manusia, 48 sampel "yang digunakan sebagai contoh dalam salah satu paket dasar R). lh[9]di sini di atasnya diganti dengan yang setara `[`(lh, 9). De-dikaburkan dengan mengganti fnama fungsi dan nnama argumen, fungsi kemudian menjadif=function(n)n^lh[9] .

Pemakaian:

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

2

Python 2, 44 byte, Anthony Pham

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

Mengambil input dari raw_input, konversikan ke int dan naikkan ke power 2.5


2

JavaScript, fəˈnɛtɪk

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

Mendapat 5/2 hingga 5 kali 2 dengan kekuatan negatif pertama, di mana 5 dan 1 diterima dari panjang string. Mengambil jalan keluar yang mudah dalam arti dengan mengomentari karakter asing.


2

C #, 112 byte, Jan Ivan

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

2

05AB1E , 47 byte, Okx

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

Cobalah online!


Ah, saya tahu akan ada solusi metode yang saya gunakan untuk 'mengamankan' kode. Sudah selesai dilakukan dengan baik!
Okx

@Okx: Ya, 05AB1E sangat sulit untuk diisi dengan kode tambahan tanpa membuatnya tidak bisa dilewati.
Emigna

Saya akan melihat apakah saya bisa membuat Anda menjadi lebih sulit;)
Okx

@ OKK: Menantikan itu :) Saya punya ide juga bahwa saya dapat mencoba untuk menerapkan setelah bekerja;)
Emigna

2

Fireball , 8 bytes, Okx

♥²♥1Z/^*

Penjelasan:

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

Tidak yakin apakah itu berhasil. Saat ini saya tidak punya java di laptop saya. :(


Saya tidak berpikir itu akan berhasil. Perbaikan mudah, jadi saya akan memberikan jawabannya. Anda hanya perlu menukar Z1ke 1Z.
Okx

Saya yakin saya melakukan kesalahan di sana. Diperbarui.
Roman Gräf

2

Haskell , 64 byte, @nimi

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

Cobalah online! Itu yang menyenangkan. Saya pertama kali menemukan product.(<$>(($succ(cos$0))<$>[id,recip])).(**)yang berperilaku benar dan daripada harus masuk flip flip <$> () $ id .ke suatu tempat ke dalamnya.


2

R, stabilbox

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

Pemakaian:

> 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

Asli:a=function(s)s**2*s**(0.125*2*2)
Steadybox

2

05AB1E , 22 byte, P. Knops

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

Cobalah online!

Penjelasan

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

Sisa operasi tidak pernah dieksekusi.
Kita bisa melakukannya tanpa qjuga dengan memiliki ?setelah perhitungan dan lolos dari tanda kesetaraan misalnya dengan '=.


1
Baru saja melakukannya untuk bersenang-senang: D
P. Knops

@ P.Knops: Itulah alasan terbaik :)
Emigna
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.