Robbers - รากที่สองคูณสแควร์


18

ภารกิจ:ถอดรหัสรหัสสัญญาณรบกวนสำหรับการคูณสแควร์รูทของจำนวนเต็มnด้วยกำลังสองของมัน!

คุณต้องแสดงความคิดเห็นในกระทู้ตำรวจมีการเชื่อมโยงไปยังแหล่งที่ทำงานของคุณที่กล่าวขวัญอย่างชัดเจนว่าคุณได้แตกมัน ในชื่อคำตอบของคุณคุณต้องรวมลิงค์ไปยังคำตอบเดิม

กฎ:

  • คุณสามารถเปลี่ยนลำดับของตัวละครในต้นฉบับได้เท่านั้น
  • คำตอบที่ปลอดภัยไม่สามารถถอดรหัสได้อีกต่อไป
  • กฎอื่น ๆ ที่กล่าวถึงในเธรดของตำรวจ
  • โปรดแก้ไขคำตอบที่คุณถอดรหัส

ผู้ชนะ: Emigna - 10 submissons (มีปัญหาในการนับ)

รางวัลชมเชย: Notjagan, Plannapus, TEHTMI

คำตอบ:


3

ไม่ , 41 ไบต์, ผู้ชายคนนี้

NOOOOOO?NOOOOOOOOOOO!nnOOOOO
NOOOOOOOO?no

จริงๆ? อย่างน้อยฉันก็รู้ภาษาของฉัน
caird coinheringaahing

@ThisGuy: คุณได้สร้างภาษาที่สนุก :) ไม่เป็นประโยชน์อย่างยิ่งแม้ว่า;)
Emigna


9

JavaScript (ES7), Neil

_26_=>_26_**6.25**.5

แน่นอนว่าส่วนที่ยากคือการคิดว่าจะทำอย่างไรกับตัวละครพิเศษทั้งหมด (และยังไม่โพสต์โซลูชันนี้ในเธรดที่ไม่ถูกต้องเหมือนที่ฉันทำโดยบังเอิญในตอนแรกโอ๊ะโอ ... )


1
@SethWhite: ฉันต้องใช้ตัวละครทุกตัวที่ Neil ใช้ในรหัสสัญญาณรบกวนของเขามิฉะนั้นสิ่งนี้จะไม่เกิดขึ้นเลย
Ilmari Karonen

มันทำงานอย่างไร
Arjun

@Arjun _26_=>กำหนดฟังก์ชั่นที่ไม่ระบุชื่อโดยใช้หนึ่งพารามิเตอร์ที่เรียกว่า_26_(ตัวแปรอาจเริ่มต้นด้วยขีดล่าง แต่ไม่ใช่ตัวเลข) แล้วที่เหลือเป็นเพียงการใช้**เป็นMath.pow()ที่จะยกระดับการป้อนข้อมูลเพื่ออำนาจของ 2.5 (6.25 พลังงาน 0.5)
โจ

อา! ฉันคิดว่า_26_มันเป็นสิ่งที่เฉพาะเจาะจงของ ES7 ไม่ทราบว่าตัวแปรสามารถอยู่ในรูปแบบนี้เช่นกัน! (ฉันไม่เคยเห็นตัวแปรที่ไม่มีตัวอักษร) นั่นเป็นวิธีที่ฉลาดมากโดย @Neil และคุณก็ฉลาดมากในการแคร็กมัน! +1 ของคุณดีสมควร! :)
Arjun



4

C ++ (gcc) , 100 ไบต์, Mr. Xcoder

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

ลองออนไลน์!


ทำได้ดี! โปรดแก้ไขคำตอบที่คุณแตกเพราะฉันไม่สามารถทำได้ตอนนี้!
Mr. Xcoder

ผู้ใช้ที่ไม่ระบุชื่อแนะนำให้แก้ไขเพื่อบันทึก 8 ไบต์โดยการลบusingและเพิ่งทำint main(){float n;std::cin>>n;std::cout<<pow(n,2.5);}
Martin Ender

บันทึกอีกหนึ่งไบต์ #including <cmath> แทนที่จะเป็น math.h. :)
zyndor


4

แจ้ง 7 , corvus_192

ยอดเยี่ยมรายการ Inform7 :) ฉันแค่ลองทำสิ่งนี้

ฉันค่อนข้างแน่ใจว่านี่เป็นทางออกที่ตั้งใจไว้:

R is a room.

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

โปรดทราบว่าวิธีนี้จะใช้งานได้ต่อเมื่อรวบรวมกับ Glulx back-end เนื่องจากการใช้งานreal square root ofฟังก์ชั่น


BTW, เครื่องหมายคำพูดคู่และวงเล็บเหลี่ยมไม่จำเป็นจริงๆ ก็say n * n * real square root of nจะได้ผลเช่นกัน สามารถละเว้นช่วงเวลาที่สิ้นสุดคำสั่งได้เช่นกัน หรือเราสามารถรักษาช่วงแรกไว้และกำจัดบรรทัดใหม่แทน ส่วนอื่น ๆ ของรหัสที่เราสามารถตัดออกไปรวมถึงบทความ "a" ก่อน "ห้อง" และช่องว่างก่อนวงเล็บและหลังลำไส้ใหญ่ โชคดีที่เรามีวงเล็บสำรองไว้เราสามารถใช้มันเพื่อคอมเม้นท์ตัวละครพิเศษเหล่านี้ได้ ;) ดังนั้นนี่เป็นทางออกที่ถูกต้องเช่นกัน:

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

ในการทดสอบโซลูชันนี้แบบโต้ตอบคุณสามารถเพิ่มบางอย่างเช่นชุดทดสอบต่อไปนี้ในรหัส

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

หลังจากรวบรวมและเรียกใช้โปรแกรมคุณสามารถพิมพ์เช่นf 4. f 6. f 9. f 25ที่>พรอมต์และรับบางสิ่งบางอย่างเช่นผลลัพธ์ต่อไปนี้:

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 ผมเพิ่งสังเกตเห็นว่าแจ้ง (หรือสันนิษฐานค่อนข้าง Glulx) ปัดเศษทศนิยมตำแหน่งสุดท้ายของการf 6ที่ไม่ถูกต้อง: ค่าที่ถูกต้องเป็นมากใกล้ชิดกับ 88.18163 กว่า 88.18164 โชคดีที่ฉันไม่คิดว่าสิ่งนี้จะส่งผลกระทบต่อความถูกต้องของโซลูชันโดยเฉพาะอย่างยิ่งเนื่องจากความท้าทายระบุ "กลไกการปัดเศษใด ๆ ที่คุณเลือก" :)


ฉันแน่ใจว่าฉันพบซอฟท์แวร์ Inform 7 เมื่อไม่นานมานี้ แต่ฉันหาไม่พบเมื่อทำการค้นหา คุณรู้หรือไม่ว่ามีล่ามออนไลน์อยู่ที่ไหน?
Flounderer

@Flounderer: ฉันไม่รู้จริงๆเลย มีผู้เล่นออนไลน์ (แม้แต่ที่ทำงานด้วย JS) สำหรับระบบประมวลผล Glulx / Z-machine ที่ผลิตโดยคอมไพเลอร์ Inform 7 แต่ฉันไม่ทราบเลยว่าจะใช้ซอร์สโค้ด Inform 7 โดยตรงและเรียบเรียงและเรียกใช้ออนไลน์ คอมไพเลอร์ / IDE นั้นค่อนข้างง่ายต่อการติดตั้ง บน Ubuntu Linux, 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]]

ขอบคุณที่ออกจากการปัดเศษเหมือนเดิม!

คำอธิบาย: #(#)#^(1/(1+1))&@yทำงานหลักของการคูณyกำลังสอง, aka y(y)และyรากที่สองของ, y^(1/(1+1)). #&@@@{1^(1),-1}บิตเป็นเพียงขยะที่จะใช้ขึ้นตัวอักษรอื่น ๆ และ#&@@หยิบออกบิตที่มีประโยชน์จากขยะ



4

Python 3, 44 ไบต์, Kyle Gullion

สิ่งเหล่านั้น*ค่อนข้างทำให้เข้าใจผิด ฉลาดมาก!

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

เนื่องจากชุดตัวละครค่อนข้าง จำกัด ฉันจะประหลาดใจมากหากมีวิธีแก้ไขปัญหาอื่นที่ถูกต้องนอกเหนือจากการเปลี่ยนชื่อเล็กน้อยหรือจัดลำดับการโต้เถียง


คุณเข้าใจฉันเสร็จแล้ว!
Kyle Gullion


3

Python 2, 60 ไบต์, Anthony Pham

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

ขึ้นอยู่กับการละทิ้งอักขระผ่านการแบ่งทศนิยมของ Python 2 (ค่าเริ่มต้นสำหรับ/ระหว่างจำนวนเต็ม)


3

C, 50 ไบต์, เดฟ

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

ลองออนไลน์!

สิ่งนี้ต้องใช้-lmธงคอมไพเลอร์ แต่ฉันไม่รู้ว่ามันจะเป็นไปได้ที่จะแก้ปัญหานี้โดยไม่ได้


ถูกต้องและเกือบจะเหมือนสิ่งที่ฉันมี (ตัวแปรชื่อ\uad2fของฉัน) ทำได้ดี; ฉันคิดว่าฉันออกจากฝูงนกเรนตัวแดงไปมากพอที่จะทำให้คนยุ่งอีกต่อไป! อีกทั้ง-lmธงก็ไม่จำเป็นสำหรับฉันที่ใช้ Clang (ฉันพูดถึงมันแล้ว!) แต่คุณพูดถูกต้องว่าต้องพูดอย่างเคร่งครัด
เดฟ

3

R, ผู้ดิ้นรน

นี่เป็นข้อแตกของโซลูชัน 33 ไบต์ของ @Flounderer

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

การใช้งาน:

> 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

ใช่นี่ไม่ใช่วิธีแก้ปัญหาที่เกี่ยวข้องsin(pi)แต่โชคไม่ดีที่มันทำงานได้! +1
ดิ้นรน

มันเป็นscan()^(-floor(-sin(pi)*2e17)/10)
Flounderer

3

RProgN 2, ATaco

]2^\š*

เห็นได้ชัดว่า StackExchange ต้องการตัวอักษรพิเศษดังนั้นคุณจึงไปได้ทุกที่


ทางออกของฉันคือ]š\2^*แต่พวกเขาทั้งสองทำงานในลักษณะเดียวกัน
ATaco

3

HODOR, 198, ชายคนนี้

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

คำอธิบาย:

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

หมายเหตุ: ฉันต้องทำการปรับเปลี่ยนบางอย่างเพื่อให้ล่ามทำงานบนเครื่องของฉัน (อันที่คุณโพสต์ไว้ดูเหมือนจะไม่ยอมรับตัวพิมพ์เล็ก h เหนือสิ่งอื่นใด)

นอกจากนี้ฉันดูเหมือนจะไม่มีตัวแทนมากพอที่จะแสดงความคิดเห็นดังนั้นถ้ามีคนบอก @ คนนี้ได้ฉันก็จะขอบคุณ

ฉันคิดว่านี่คงข้อผิดพลาดตอนนี้รหัสเริ่มต้นด้วย Walder แทน Wylis ซึ่งเพิ่มไบต์พิเศษ


เกือบจะมี. ต้องเปลี่ยนความผิดพลาดในรหัสของฉันเพื่อให้คุณไม่ถูกต้องค่อนข้าง
caird coinheringaahing

แก้ไขคำสั่งเริ่มต้น
wwj

แม้ว่าคุณจะมีมัน แต่คุณไปหาวิธีที่แตกต่างจากฉันที่ใช้จำนวนไบต์เท่ากัน คำตอบของคุณจะทำในสิ่งที่คุณต้องการให้ทำ แต่มันไม่เหมือนกับของฉัน นอกจากนี้ฉันต้องเปลี่ยนชื่อด้วยเหตุนี้ฉันจึงแก้ไขบทความของคุณ
caird coinheringaahing

เพื่อความกระจ่างแจ้งสิ่งนี้ยังนับได้ว่าเป็นรอยร้าวหรือไม่
wwj

ฉันไม่แน่ใจ ฉันจะถามในความคิดเห็น +1 โซลูชันของคุณทำให้ฉันคิดว่ายากจริงๆ!
caird coinheringaahing

3

C #, 172 ไบต์, raznagul

ส่วนที่ยากที่สุดคือการหาว่าจะทำอย่างไรกับของเหลือทั้งหมด

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

ดี! ฉันติดค้างที่เหลือเช่นกัน ไม่คิดว่าจะเพิ่มชื่อเหล่านี้ลงในคลาสหรือไม่! เยี่ยมมาก!
Emigna

+1 ไม่ใช่สิ่งที่ฉันตั้งใจ แต่เป็นทางออกที่ดีมาก ;)
raznagul

3

EXCEL, 26 ไบต์pajonk

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

A1 เป็นอินพุต IP2 มีอินพุตที่สองที่มีข้อผิดพลาด # N / A ในกรณีนี้ ISNA (IP2) เป็นของ 1

สำหรับเพิ่มเติม() เราสามารถทำได้

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

อินพุตที่สองอนุญาตให้มีการท้าทายเช่นนี้หรือไม่
pajonk

@pajonk กฎบอกว่า "คุณสามารถรับข้อมูลด้วยวิธีมาตรฐาน" ดังนั้นฉันจึงสมมติว่าคุณใช้เล่ห์เหลี่ยมนี้ด้วยอินพุตที่สอง
JörgHülsermann

@pajonk ฉันได้ปรับปรุงโพสต์ของฉันอาจเป็นไปได้ว่าคุณทำผิดพลาดเล็กน้อย
JörgHülsermann

วิธีมาตรฐานในการจดหนึ่งหมายเลขคือ (ฉันคิดว่า) จดหนึ่งอินพุต ในความคิดของฉันอินพุตที่สองจะไม่ยุติธรรมและขัดกับกฎ ป.ล. ไม่มีข้อผิดพลาดในจำนวนของวงเล็บ
pajonk

@pajonk ฉันไม่สามารถใช้การรวมกันกับ SIN และ PI ทำให้มีวงเล็บไม่เพียงพอ =SQRT(A1)*A1^2/SIN(PI()/2)หากคุณตั้งค่าข้อผิดพลาด #NA ผ่านการจัดรูปแบบหรืออย่างอื่นฉันจะเห็นว่ามันเป็นอินพุตที่สองเพิ่มเติม SQRT และ ISNA เป็นเพียงฟังก์ชั่นสองอย่างที่ให้ความรู้สึกเล็กน้อย แต่โปรดถามคนที่พัฒนาคำถาม
JörgHülsermann

3

Python 3.6, 64 bytes, Mr. Xcoder

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

อาจไม่ใช่สิ่งที่ตั้งใจ แต่ใช้ได้;)

$ 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

ยังมีตัวแทนไม่พอที่จะแสดงความคิดเห็นกับคำตอบของเธรดตำรวจขออภัยด้วย ... จะขอบคุณถ้ามีใครสามารถทำเพื่อฉันขอบคุณ!


@นาย. Xcoder ตามที่กล่าวข้างต้นไม่สามารถแสดงความคิดเห็นในโพสต์ของคุณในกระทู้ cops 'ขอโทษเกี่ยวกับที่ :)
user4867444

มาโพสต์วิธีแก้ปัญหาที่คล้ายกันfrom math import pi as pp0012223467899;f=lambda x:x**2.5*1*(1)/1เพียงเพื่อดูว่าฉันถูกตีหมัด ฉันได้เพิ่มลิงก์ไปยังโพสต์นี้ในหัวข้อ cops สำหรับคุณ
Kyle Gullion


3

Python 2.7, Koishore Roy

s=e=x=y=input()**0.5
print'%.3f'%(y**(5.0))

หรือy=x=e=sทั้งสองอย่างทำงาน :)) งานได้ดีเลย!
Mr. Xcoder

ทำได้ดีมาก : P ตอนนี้ฉันต้องทำงานกับรหัสใหม่ ยี้!
Koishore Roy

3

R, ผู้ดิ้นรน

นี่เป็นข้อแตกของโซลูชัน 31 ไบต์ของ @ Flounderer:

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

ตกลงว่าเป็นคนที่ยาก มันสร้างฟังก์ชั่นที่เรียกว่า`[.`มันจะสร้างฟังก์ชั่นที่เรียกว่าอาร์กิวเมนต์ของฟังก์ชันเรียกว่า`]`ซึ่งยกระดับเป็นพลังงาน 2.5 โดยใช้องค์ประกอบที่ 9 ของชุดเวลาในตัวlh("อนุกรมเวลาปกติที่ให้ฮอร์โมน luteinizing ในตัวอย่างเลือดในช่วงเวลา 10 นาทีจากหญิงมนุษย์ 48 ตัวอย่าง . "ที่ใช้เป็นตัวอย่างในหนึ่งในแพ็คเกจพื้นฐานของ R) เป็นที่นี่ด้านบนของมันถูกแทนที่ด้วยเทียบเท่าlh[9] `[`(lh, 9)De-obfuscated โดยการแทนfชื่อฟังก์ชั่นและชื่ออาร์กิวเมนต์ฟังก์ชันแล้วจะกลายเป็นnf=function(n)n^lh[9]

การใช้งาน:

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


2

จาวาสคริปต์, fəˈnɛtɪk

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

รับ 5/2 ถึง 5 คูณ 2 ถึงกำลังลบแรกซึ่งรับ 5 และ 1 จากความยาวของสตริง ใช้วิธีง่าย ๆ ในความหมายโดยการแสดงความคิดเห็นอักขระภายนอก



2

05AB1E , 47 ไบต์, Okx

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

ลองออนไลน์!


อาฉันรู้ว่าจะมีวิธีแก้ปัญหาที่ฉันใช้ในการ 'รักษาความปลอดภัย' รหัส ทำได้ดี!
Okx

@Okx: ใช่ 05AB1E เป็นเรื่องยากมากที่จะเสริมด้วยรหัสพิเศษโดยไม่ทำให้ผ่านได้
Emigna

ฉันจะดูว่าฉันสามารถทำให้คุณมี
เล่ห์เหลี่ยม

@Okx: มองไปข้างหน้ามัน :) ฉันมีความคิดเช่นเดียวกับที่ผมอาจพยายามที่จะดำเนินการหลังจากที่ทำงาน;)
Emigna

2

Fireball , 8 ไบต์, Okx

♥²♥1Z/^*

คำอธิบาย:

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

ไม่แน่ใจว่ามันใช้งานได้ดี ฉันไม่มีจาวาบนแล็ปท็อปของฉันในขณะนี้ :(


ฉันไม่คิดว่ามันจะได้ผล แก้ไขได้ง่ายดังนั้นฉันจะให้คำตอบแก่คุณ คุณเพียงแค่ต้องสลับเข้าZ1 1Z
Okx

ฉันแน่ใจว่าฉันทำผิดพลาดที่นั่น Updated
Roman Gräf

2

Haskell , 64 ไบต์, @nimi

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

ลองออนไลน์! นั่นเป็นเรื่องสนุก ฉันแรกพบว่าproduct.(<$>(($succ(cos$0))<$>[id,recip])).(**)พฤติกรรมที่ถูกต้องและกว่าต้องใส่flip flip <$> () $ id .ลงในบาง



2

05AB1E , 22 ไบต์, P. Knops

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

ลองออนไลน์!

คำอธิบาย

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

ส่วนที่เหลือของการดำเนินการไม่เคยถูกดำเนินการ
เราจะได้ทำมันได้โดยไม่ต้องqได้เป็นอย่างดีโดยมีหลังจากการคำนวณและการหลบหนีเข้าสู่ระบบความเสมอภาคเช่นกับ?'=


1
เพิ่งจะทำมันเพื่อความสนุก: D
P. Knops

@ P.Knops: นั่นเป็นเหตุผลที่ดีที่สุด :)
Emigna
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.