คุณต้องสร้างรูปหลายเหลี่ยมที่แสดงผลสี่เหลี่ยมจัตุรัสของอินพุตในภาษาหนึ่งและสแควร์รูทของอินพุตในอีกภาษาหนึ่ง คำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ!
คุณต้องมีความแม่นยำอย่างน้อย 3 ตำแหน่งทศนิยมและอินพุตจะเป็นทศนิยมบวกเสมอ
คุณต้องสร้างรูปหลายเหลี่ยมที่แสดงผลสี่เหลี่ยมจัตุรัสของอินพุตในภาษาหนึ่งและสแควร์รูทของอินพุตในอีกภาษาหนึ่ง คำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ!
คุณต้องมีความแม่นยำอย่างน้อย 3 ตำแหน่งทศนิยมและอินพุตจะเป็นทศนิยมบวกเสมอ
คำตอบ:
U
รากที่สองใน Jolf, สแควร์ใน MATL
ลองออนไลน์! (MATL)
ลองใช้รหัส Jolf ใช้ได้กับ Firefox เท่านั้น
ทั้งสองนี้มีขนาด 1 ไบต์เนื่องจากทั้ง MATL และ Jolf ใช้โค้ดเพจ ASCII / Extended ASCII ดังนั้นคำสั่งทั้งหมดจึงมีขนาด 1 ไบต์
#include<math.h>
float f(float n){auto p=.5;return pow(n,2-p*3);}
คำตอบเดิม:
#include<math.h>
float f(float n){return pow(n,sizeof('-')-1?2:.5);}
สำหรับทั้งสองรุ่น C ผลิตn^2
และ C ++ sqrt(n)
ผลิต
auto
หมายถึง "จัดสรรบนสแต็ก" คำหลักนั้นค่อนข้างไร้ประโยชน์เพราะเป็นค่าเริ่มต้นดังนั้น C ++ จึงนำมาใช้เพื่อหมายถึงสิ่งอื่น ใน C แม้ว่ามันจะไม่แสดงความคิดเห็นใด ๆ เกี่ยวกับประเภทของp
(เป็นคลาสหน่วยเก็บข้อมูลไม่ใช่ประเภท) ดังนั้นจึงนับเป็นint
ค่าเริ่มต้น ( int
พฤติกรรมเริ่มต้นต่อพฤติกรรมนี้ไม่น่าเป็นไปได้ในปัจจุบัน รุ่นก่อนของ C บางตัวไม่มีประเภทข้อมูลเลย แต่คอมไพเลอร์ก็ยังเข้าใจอยู่) และแน่นอน(int)0.5
คือ 0.
n^2
ขึ้น
lambda n:n**(1/2or 2)
งูหลาม 2.x ผลิตn^2
, Python 3.x sqrt(n)
ผลิต
บันทึก 2 ไบต์ด้วย @Dennis!
or
หรือไม่?
/
ทำการหารจำนวนเต็ม ( 1/2==0
) ใน Py3 จะแบ่งจุดลอยตัว ( 1/2==0.5)
. 0
เป็นเท็จ.
*.
2sable คำนวณตาราง ลองออนไลน์!
เยลลี่คำนวณรากที่สอง ลองออนไลน์!
* Read the input twice and compute the product of both copies.
This pushes the square of the input.
. Unrecognized token (ignored).
. Numeric literal; yield 0.5.
* Raise the input to the power 0.5.
This yields the square root.
#/*
lambda n:n**.5;'''*/
float a(i){return i*i;}//'''
C: ลองออนไลน์!
Python: ลองออนไลน์!
ทำงานโดยใช้ความคิดเห็นเพื่อพูดได้หลายภาษา ที่เหลือค่อนข้างอธิบายได้
ครั้งแรกที่ใช้ C!
stdio.h
ไว้ในกรณีนี้หรือไม่?
ส่งออกสแควร์ในโอห์มรากที่สองในเยลลี่
Ohm และ Jelly ใช้ codepages ไบต์เดียวที่แตกต่างกันดังนั้นโปรแกรมจะปรากฏแตกต่างกันในแต่ละการเข้ารหัส
xxd hexdump ของโปรแกรม:
00000000: fd7f 0a ...
เมื่อใช้เพจรหัสของเจลลี่จะมีลักษณะดังนี้:
’
½
เจลลี่ใช้บรรทัดล่างสุดเพื่อเป็นลิงค์หลักและละเว้นลิงค์อื่นนอกจากจะเรียกเฉพาะ ดังนั้นที่นี่มันจะสแควร์รูท ( ½
) และเอาท์พุทโดยปริยาย
เมื่อใช้ codepage ของ Ohm (CP437) จะมีลักษณะดังนี้:
²⌂◙
²
เป็นฟังก์ชั่นสแควร์และ⌂
และ◙
ทั้งสองไม่ได้กำหนดดังนั้นโปรแกรมเพียงแค่กำลังสองอ่านอินพุตโดยปริยายและเอาท์พุทโดยปริยาย
½
เป็นไบต์²
แผนที่จะเป็นอย่างไร มันเป็นเพียงขยะที่ยังคงเพิกเฉย? และในทางกลับกันสำหรับโอห์ม ดูเหมือนว่าจะเป็น 2 ไบต์
²
ใน Ohm อยู่ที่จุดรหัส 5 รหัสจุด 5 ใน Jelly คือ%
และไม่ทำอะไรเลยดังนั้นจึงไม่สำคัญว่าบรรทัดแรกจะเป็นอะไร สมมติว่า½
ในเยลลี่อยู่ที่ 27 และรหัสจุด 27 ในโอห์มคือJ
และไม่ทำอะไรเลยดังนั้นจึงไม่สำคัญว่าบรรทัดที่สองคืออะไร ดังนั้นหากคุณมีไฟล์เท่ากับ00000101<newline>00011011
3 ไบต์ ฉันเดาว่าปัญหาเดียวคือหากบรรทัดใหม่อยู่ในตำแหน่งที่แตกต่างกันในหน้ารหัส
float f(float n){return n//*
/sqrt(n)//*/1*n
;}
ต้องใช้-lm
ธง (+3)
C89 ผลิตn^2
, C99 sqrt(n)
ผลิต หากต้องการทดสอบใน C89 ลองออนไลน์!
การทำให้ C89 ทำsqrt
เวอร์ชั่นควรใช้โค้ดน้อยลง แต่มันยืนยันที่จะประกาศsqrt
ฟังก์ชั่นด้วยint
s โดยปริยายดังนั้นนี่เป็นวิธีที่ดีที่สุดที่ฉันสามารถจัดการได้
@(x)x^(2-3*any(version>60)/2)
สิ่งนี้จะแสดงผลสี่เหลี่ยมจัตุรัสในอ็อกเทฟและสแควร์รูทใน MATLAB
คำอธิบาย:
ไวยากรณ์มีลักษณะเหมือนกันใน MATLAB และ Octave (อย่างน้อยก็ชิ้นส่วนของรหัสนี้)
สิ่งนี้จะสร้างฟังก์ชั่นที่ไม่ระบุชื่อ:
@(x) % Take x as input
x^( ) % Raise x to the power of ...
version % Returns the version number
% 4.2.0 in Octave,
% '9.2.0.538062 (R2017a)' in MATLAB
version>60 % 'R' is larger than 60. All others are smaller
3*any(version>60)/2 % Checks if there is an 'R' and multiplies it by 1.5 if it is.
2-3*any(version>60) % 2-1.5*(is there an 'R')
sqr(x)
สแควร์รูทในเบสิคและสแควร์ในเดลฟี
คุณสามารถใช้ดีบักเกอร์เพื่อตรวจสอบการแสดงออกดังนั้นตอบสนองความต้องการออกใด ๆ !
x
อะไร คุณไม่สามารถสรุปได้ว่ามันถูกบันทึกเป็นค่า แต่คุณอาจลบ(x)
และติดป้ายกำกับว่าเป็นการส่งคืนฟังก์ชันได้
ไบต์ต่อไปนี้ทำขึ้นโปรแกรม:
FD B9 74
05AB1E คำนวณสแควร์รูท, ลูกไฟ
คำอธิบาย (05AB1E - ý¹t
):
ý Pushes an empty string to the stack (not entirely sure why)
¹ Push first input
t Square root
คำอธิบาย (Fireball - ²╣t
):
² Square input
╣ Unassigned
t Unassigned
บางครั้งช่วยให้มีภาษาที่ไม่สมบูรณ์;)
นี่มันท้าทายกว่าที่ฉันคาดไว้จริงๆ! ฉันค่อนข้างประหลาดใจที่รหัสของฉันยาวแค่ไหน
eval(['alert((_=prompt())*_)','echo$argv[1]**.5'][+![]]);
มันทำงานยังไง?
สิ่งนี้ทำงานได้โดยเลือกรหัสที่จะเรียกใช้จากอาร์เรย์
PHP และ JavaScript +![]
การตรวจสอบทำด้วย
ใน PHP []
(อาเรย์ที่ว่างเปล่า) เป็นค่าเท็จในขณะที่ JavaScript มันเป็นค่าความจริง (วัตถุ (ยกเว้นnull
) มักเป็นจริงเสมอแม้new Boolean(false)
จะเป็นความจริง!)
แต่ฉันต้องได้มันมาเป็นค่าตัวเลขดังนั้นฉันแค่ใช้not
( !
) แล้วแปลงมันเป็นจำนวนเต็ม (ด้วย+
)
ตอนนี้ PHP อัตราผลตอบแทนคุ้มค่าในขณะที่อัตราผลตอบแทน1
JavaScript
การวางรหัสภายในอาเรย์ที่ดัชนีเหล่านั้นจะทำให้เราสามารถเลือกรหัสที่ถูกต้องสำหรับภาษาที่ต้องการ
สิ่งนี้สามารถใช้เป็นเพื่อรับรหัสของภาษาที่เหมาะสม0
[JS,PHP][+![]]
ใน polyglots ก่อนหน้านี้ฉันใช้'\0'=="\0"
ซึ่งอยู่true
ใน JavaScript (เนื่องจาก\0
มีการแยกวิเคราะห์เป็น NULL-byte) และfalse
ใน PHP ( '\0'
จะไม่ถูกแยกวิเคราะห์เป็น NULL-byte เปรียบเทียบสตริงตัวอักษร\0
กับ NULL-ไบต์)
ฉันดีใจที่ฉันสามารถลดเช็คนี้+!'0'
ได้
ฉันมีความสุขมากยิ่งขึ้นเกี่ยวกับ@rckdซึ่งลดลงเป็นเวอร์ชันปัจจุบัน!
จากนั้นมันeval
เป็นรหัสที่จำเป็น
PHP
PHP จะดำเนินการecho$argv[1]**.5
(เทียบเท่ากับจำนวนecho sqrt($argv[1]);
สแควร์รูท), รับค่าจากอาร์กิวเมนต์ที่ 2 และแสดงในเอาต์พุตมาตรฐาน
JavaScript
JavaScript รันซึ่งแสดงจำนวนสแควร์ในalert((_=prompt())*_)
alert
ขอบคุณ@rckdสำหรับการบันทึก 1 ไบต์และ@ user59178สำหรับการบันทึก 3 ไบต์!
echo$argv[1]**.5
แทนecho sqrt($argv[1])
nqƓ½
nq # Ignored by Jelly, push n**2 in 05AB1E then quit.
Ɠ½ # Ignored by 05AB1E due to quit, push sqroot of input in Jelly.
บางคนทำคะแนนได้ดีฉันเดาว่าเนื่องจากตัวอักษร UTF-8 ไม่ได้ใช้การทำงานแบบเดียวกันในหน้ารหัสที่พวกเขาใช้เทคนิค 2 ไบต์ในการเข้ารหัส อย่างไรก็ตามเมื่อดูที่นี่ในแง่ของการถ่ายโอนข้อมูล hex:
6e 71 93 0a
ในการเข้ารหัส CP1252 ของ 05AB1E ผลลัพธ์นี้ใน:
nq“\n
หมายความว่ามันจะยังคงส่งออกสแควร์และออกโดยไม่สนใจส่วนที่เหลือ เมื่อไบต์เหล่านี้ถูกเข้ารหัสโดยใช้เพจรหัสของ Jelly:
nqƓ½
ซึ่งเป็นรหัสตั้งใจเดิมเมื่อดำเนินการผลลัพธ์ในผลลัพธ์ที่ต้องการของการป้อนข้อมูลและการ sqrt
Ɠ
และ½
ต้องการเข้ารหัสสองไบต์ อย่างไรก็ตามลำดับไบต์6e 71 93 0a
( nqƓ½
สำหรับ Jelly, nq“\n
สำหรับ CP-1252) ควรทำงานได้ทั้งสองภาษา
½
กำลังอยู่ในหน้ารหัสทั้งสองไม่อนุญาตให้มันนับเป็นหนึ่งเดียวเพราะพวกเขากำลังดำเนินการที่แตกต่างกันฉันคิดว่า? ฉันยังคงคลุมเครือในสิ่งที่หน้ารหัสทั้งหมด
6e 71 93 0a
ดังนั้นจึงไม่มี "ทฤษฎี" เกี่ยวกับการอ้างสิทธิ์ 4 ไบต์ เพียงแค่เรียกร้อง 4 ไบต์ มันเกิดขึ้นอย่างนั้นในการเข้ารหัสมาตรฐานของ 05AB1E มันอ่านสิ่งหนึ่งที่ทำในสิ่งที่คุณต้องการในขณะที่ในการเข้ารหัสมาตรฐานของ Jelly มันจะอ่านอีกอันหนึ่งซึ่งทำในสิ่งที่คุณต้องการ นอกเหนือจากนั้นการเข้ารหัส 2 ตัวสามารถเข้ารหัสอักขระเดียวกันไม่ได้หมายความว่าอักขระนั้นจะเหมือนกันในทั้งสองตัว ลองนึกถึงการเข้ารหัสเหมือนตัวเลขที่มีตัวเลขพร้อมกับตารางการค้นหาแล้วแชร์และหวังว่าจะช่วยให้คุณเริ่มต้นแบบจำลองทางจิตที่ดี
ld_*GX^!
คำนวณสแควร์ใน CJam ( ลองออนไลน์! ) และสแควร์รูทใน MATL ( ลองออนไลน์! )
ld e# Read input line and interpret as a double
_ e# Duplicate
* e# Multiply. Pops the input number twice, pushes its square
G e# Push 16
X e# Push 1
^ e# Bitwise XOR. Pops 16 and 1, and pushes 17
! e# Negate. Pops 17, pushes 0
e# Implicitly display. This prints the squared input with decimals,
e# immediately followed by the 0 coming from the negate operation
e# Even if the square of the input number is an integer, say 5,
e# it is displayed as 5.0, so including an extra 0 always gives a
e# correct result
l % Push 1. This is a number or equivalently a 1×1 array
d % Consecutive differences. Pops 1, pushes [] (empty array)
_ % Negate (element-wise). This leaves [] as is
* % Implicitly input a number and push it. Multiply (element-wise):
% pops [] and the input number, pushes []
G % Push input number again
X^ % Square root. Pops number, pushes its square root
! % Transpose. For a number (1×1 array) this does nothing
% Implicitly display. The stack contains [] and the result; but
% [] is not displayed at all
( """ )
fsqrt
\ """);lambda n:n*n
ลองออนไลน์: Python 2 (สี่เหลี่ยมจัตุรัส) | ออกมา (sqrt)
สิ่งนี้ประเมินว่าเป็นฟังก์ชันที่ไม่ระบุตัวตนใน Python และฟังก์ชันfsqrt
ในตัวใน Forth Python สามารถใช้ชื่อฟังก์ชั่นที่มีf
ขนาดเพิ่มขึ้น 2 ไบต์โดยวางไว้f=
ด้านหน้าแลมบ์ดา
โปรแกรม Forth ใช้จุดลอยตัวตามตัวอักษรซึ่งใน Forth จะต้องเขียนด้วยสัญลักษณ์ทางวิทยาศาสตร์ Pi ถูกปัดเศษเป็นทศนิยม 3 ตำแหน่ง ( 3.141
) จะเขียนดังนี้:
3141e-3
f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)
ส่งคืนสแควร์ของอินพุตใน ES7 และสแควร์รูทใน ES6 ค่อนข้างยากที่จะทดสอบเว้นแต่ว่าคุณจะมีเบราว์เซอร์รุ่นเก่าที่รองรับ ES6 แต่ไม่ใช่ ES7
f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)
console.log(f(4));
ECHO"$argv[1]"**2;#];rdmq
คำนวณสแควร์ใน PHP และสแควร์รูทใน CJam จะต้องมีการใช้งาน-r
ใน PHP
เพิ่มอาร์กิวเมนต์บรรทัดคำสั่งแรก ( $argv[1]
) เป็น 2 และส่งออก นี่$argv[1]
คือจริง ๆ แล้วใส่เป็นตัวแปรแบบอินไลน์ในสายอักขระซึ่งถูกส่งไปยังหมายเลขก่อนทำการยกกำลัง นี่เป็นเพราะv
ไม่ใช่คำสั่งที่ถูกต้องใน CJam และจะทำให้เกิดข้อผิดพลาดขณะแยกวิเคราะห์ แต่การใส่ลงในสตริงจะไม่ทำให้เกิดปัญหาใด ๆ
#
เริ่มความคิดเห็นดังนั้นทุกอย่างหลังจากที่ถูกละเว้น
ส่วนแรกของรหัสECHO"$argv[1]"**2;#
ดันกลุ่มของค่าและดำเนินการกลุ่มซึ่งทั้งหมดนี้จะไร้ประโยชน์อย่างทั่วถึง สิ่งสำคัญเพียงอย่างเดียวก็คือพวกเขาไม่ได้ทำให้เกิดข้อผิดพลาดใด ๆ เพราะหลังจากนั้นคือ];
ซึ่งจะห่อทั้งกองในอาร์เรย์แล้วทิ้งมัน
หลังจากนั้นมันจะอ่านค่าสองเท่าจากอินพุต ( rd
) และรับค่าสแควร์รูท ( mq
) และส่งออกโดยปริยาย
;float f(float x){return sqrt(x);}char*
F="_this^2";
ในสคริปต์ OFP เซมิโคลอนที่จุดเริ่มต้นของบรรทัดทำให้บรรทัดนั้นแสดงความคิดเห็นในขณะที่ C ไม่สนใจเซมิโคลอนเพิ่มเติม
C:
ภาษาสคริปต์ OFP:
บันทึกเป็นในโฟลเดอร์ภารกิจนั้นเรียกมันด้วยinit.sqs
hint format["%1", 2 call F]
ภาษา 2 มิติ!
/&:*.@
>in:o#p;
/&:*.@
/ divide top two (no-op)
& read decimal input
: duplicate
* square
. output
@ terminate
/ mirror up, then right
>in:o#p;
i read line of input
n cast to number
:o# square root
p print
; terminate
ชายฉันสนุกกับโครงสร้างลิงก์ของเจลลี่จริงๆ
:*n;
½
คำนวณตาราง ใน> <> และราก ในเยลลี่
-v
ในความคิดของฉันการใช้งานเป็นไปตาม [คำตอบที่ได้รับคะแนนสูงสุด [( codegolf.meta.stackexchange.com/a/11431/44874 ) ในการจัดการ meta querstion ในกรณีนี้ ><>
ล่ามต้องการที่-v
และนี่คือเหตุภาวนาเป็นไปได้ง่าย
0//1or exec("function=lambda a:(lambda b:a);x=0")
y=2//2/2
f=(function(x)(x**y))//1 or(lambda x:x**y)
สแควร์รูทใน JS, สแควร์ใน Python
ใช้งานได้กับ Firefox (ทดสอบกับ FF 52) และต้อง(function(x) x)(42) === 42
เป็นไวยากรณ์ที่ถูกต้อง ยังต้องใช้ ES7 สำหรับ**
ผู้ใช้งาน
x=>x**y
แทน หรือ Python จะทำให้หายใจไม่ออก
function
ไม่ใช่คำหลักจึงเป็นตัวระบุที่ถูกต้อง ดังนั้นฉันเพิ่งกำหนดฟังก์ชั่น noop ให้กับมัน (ภายในexec
คำสั่ง)
อัปเดต: ฉันต้องยอมรับความพ่ายแพ้ คำตอบ bash / sh ของDigital Traumaนั้นงดงามกว่าคำตอบนี้มาก
bc -l<<<"sqrt($1^(($(kill -l|wc -l)*3-3)/7+1))"
ทุบตีผลิตn^2
, sqrt(n)
การดวลจุดโทษผลิต
bc
มีความจำเป็นเท่านั้นจึงsqrt
จะสามารถคำนวณได้ ความแตกต่างในพฤติกรรมอยู่ระหว่างทุบตีและดวลจุดโทษ
ตกลงเทคนิค "sh" ที่ฉันใช้อยู่นั้นยังคงทุบตีอยู่ แต่ทุบตีในโหมด "POSIX" (ซึ่งจะเกิดขึ้นหากคุณเรียกใช้/bin/sh
แทน/bin/bash
บนระบบที่/bin/sh
เป็นนามแฝงสำหรับทุบตี) หากเป็นกรณีนี้ในระบบของคุณคุณสามารถทดสอบกับ:
/bin/bash prog.sh 4
/bin/sh prog.sh 4
สิ่งนี้อิงจากหนึ่งในความแตกต่างที่อธิบายไว้ที่นี่: https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
kill -l
(แสดงรายการสัญญาณเป็นไปได้ไม่ได้เปลี่ยนแปลงอะไร) ในและbash
sh
มันเป็นหนึ่งในความแตกต่างมากมายที่คุณสามารถพบได้ที่นี่: gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
input a
?a^2'^.25
ในQBasicมันต้องใช้ตัวเลขและพิมพ์ตัวเลขนั้นกำลังสอง ส่วนที่เหลือของรหัสจะถูกละเว้นเพราะ QBasic เห็นว่ามันเป็นความคิดเห็น ( '
)
QBICใช้คำสั่งอินพุตเดียวกัน จากนั้นมันก็จะพิมพ์เลขเดิมนั้นยกกำลังสองแล้วยกกำลังหนึ่งในสี่ นี่เป็นเพราะ'
ถูกมองว่าเป็นตัวอักษรของรหัส: รหัส QBasic ล้วนที่ไม่ได้แยกวิเคราะห์โดย QBIC
แก้ไข: มันสั้นลงหนึ่งไบต์เพื่อย้อนกลับการทำงาน
RTa
²
เยลลี่เริ่มต้นการดำเนินการที่ด้านล่างของรหัส (ลิงค์หลักของมัน) และดูว่ามันต้องการอะไรที่สูงกว่าหรือเปล่า: มันเห็นคำสั่งให้ทำตารางและดูแลอินพุตและเอาต์พุตโดยปริยาย
Pip เรียกใช้งานบรรทัดบนสุดยกกำลังสอง (อ่านโดยนัยจากบรรทัด cmd) var a และพิมพ์โดยนัย บรรทัดล่างถูกละเว้น
PRTaVS
byter:
รับสแควร์ของตัวเลขในภาษา Wolfram และรับสแควร์รูทใน PHP;
n^2
echo sqrt(_GET["n"]);
บรรทัดแรกคือภาษา Wolfram อันดับแรกคุณคือคนที่เปลี่ยน n ใน searchbar ใน Wolfram Alpha ดังนั้นโค้ดก็เป็นอินพุตเช่นกัน จากนั้นมันจะสร้างคำตอบเมื่อกด Enter
n^2
บรรทัดที่สองคือ PHP จะได้รับสแควร์รูทของ n ซึ่งต้องใส่ในแถบที่อยู่ (เช่น ppcg.php.net?n=213 โดยที่ 213 เป็นค่าของ n)
echo sqrt($_GET["n"]);
function f($n){list($a[],$a[])=[.5,2];echo $n**$a[0];}
PHP 5.6 ผลิตn^2
, PHP 7 sqrt(n)
ผลิต
p=^4 :
bc<<<"sqrt($1)$p"
ใน Mac, sh
มีการbash
ทำงานในโหมด Posix และในกรณีนี้ตามhttps://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html :
คำสั่งการกำหนดก่อนหน้าบิวด์พิเศษ POSIX จะคงอยู่ในสภาพแวดล้อมเชลล์หลังจากบิวด์อินเสร็จ
ดังนั้นสำหรับsh
ตัวแปรที่p
มีค่า^4
หลังจากที่:
ถูกเรียกใช้ แต่สำหรับbash
ตัวแปรp
เท่านั้นที่มีค่านี้ในขณะที่:
ถูกเรียกใช้และว่างเปล่าหลังจากนั้น
ยังคงbash
อยู่ภายใต้ผ้าห่มจริงๆbashisms บางอย่างเช่น<<<
herestrings ยังคงใช้ได้ทั้งในกรณี bash และ sh
บน Ubuntu 16.01 sh
นั้นเป็น symlink dash
ซึ่งไม่ได้ทำสิ่งที่<<<
ผิด ดังนั้นเราจึงได้สิ่งนี้แทน:
p=^4 :
echo "sqrt($1)$p"|bc
โปรแกรมนี้กำลังสองอินพุตใน Cardinal และรับสแควร์รูทใน Octave
%:=t.
disp(sqrt(input("")))
% เป็นความคิดเห็นบรรทัดเดียวใน Octave ดังนั้นมันจึงได้รับอินพุตและพิมพ์สแควร์รูท
disp(sqrt(input("")))
เพื่อให้โปรแกรม Cardinal ไม่พบการหารด้วย 0 ข้อผิดพลาดและโปรแกรมตาย
%:=t.
ถูกเลื่อนด้วยช่องว่างซึ่งทั้งสองโปรแกรมถูกละเว้น
โปรแกรมเริ่มต้นที่%
มันรับอินพุตและเก็บค่าเป็นแอ็คทีฟ:
มันตั้งค่า inactive ให้เท่ากับ active =
มันทวีคูณการใช้งานโดย inactive t
ในที่สุดมันก็จะออกค่าแอคทีฟ
<body onload=alert(<?=$x*$x.')>'.sqrt($x)?>
การป้อนข้อมูลเป็นไปเช่น:
<?php $x = 10; ?>
ค่อนข้างอธิบายตัวเอง แต่มันพอดีกับกฎหรือไม่ กอล์ฟรหัสครั้งแรกของฉัน :-)
alert(<?=$x*$x.')>'.sqrt($x)?
)
ไม่ใช่การแข่งขันเพราะ:
+
และⓟ
CGL เป็นภาษาที่ใช้ได้จริงในทางเทคนิค x=>x**2
//-₂
ง่าย: ฟังก์ชั่นลูกศรที่ไม่ระบุชื่อที่ส่งกลับอาร์กิวเมนต์แรกของมันกำลังสอง รหัสภาษาที่ไม่มีชื่อถูกใส่ความคิดเห็น
พื้นที่ที่ไม่ทำลายก่อนบรรทัดแรกทำหน้าที่เหมือนแสดงความคิดเห็น /
s นี้ไม่มี-Ops -
ในบรรทัดที่สองหมายถึงการลดลงของจำนวนสแต็คในปัจจุบันซึ่งเป็นค่าเริ่มต้นเป็น 0 ที่แล้วชุดมัน -1 ที่การป้อนข้อมูลจะถูกเก็บไว้ ₂
แทนที่รายการแรกในสแต็คในปัจจุบันที่มีรากซึ่งขณะนี้อยู่ที่การป้อนข้อมูลที่ถูกวางไว้ ตามค่าดีฟอลต์แล้วสแต็กปัจจุบันจะถูกเอาต์พุตซึ่งจะส่งเอาต์พุตสแควร์รูทของอินพุต