สร้าง MathJax สำหรับอัตราส่วนทองคำอย่างต่อเนื่อง


17

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

PPCG เพิ่งได้ MathJax ! ซึ่งหมายความว่าตอนนี้เราสามารถรวมสูตรทางคณิตศาสตร์ที่มีรูปแบบที่ดีไว้ในโพสต์ได้อย่างง่ายดาย ( บทช่วยสอน MathJax ที่มีประโยชน์ )

ตัวอย่างเช่นนี่คืออัตราส่วนทองคำที่แสดงเป็นเศษส่วนต่อเนื่องที่ไม่มีที่สิ้นสุด:

eq0

รหัส MathJax สำหรับสมการนี้คือ

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

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

ท้าทาย

เขียนโปรแกรมที่ใช้จำนวนเต็มไม่ใช่ลบ n และเอาท์พุทรหัส MathJax สำหรับ "ขั้นตอน" หลายส่วนของเศษส่วนต่อเนื่องสำหรับอัตราส่วนทองคำ

เพื่อให้สิ่งที่มาตรฐานในคำตอบที่คุณต้องใช้นี้แน่นอนไวยากรณ์ MathJax:

  • สำหรับ n = 0, $$\varphi=1+\dots$$เอาท์พุทจะต้องเป็น
    ซึ่งแสดงผลเป็น:

    EQ1

  • สำหรับ n = 1, $$\varphi=1+\cfrac1{1+\ddots}$$เอาท์พุทจะต้องเป็น
    ซึ่งแสดงผลเป็น:

    EQ2

  • สำหรับ n = 2 $$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$เอาท์พุทจะต้องเป็น
    ซึ่งแสดงผลเป็น:

    EQ3

  • สำหรับ n = 3, $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$การส่งออกจะต้องเป็น
    ซึ่งแสดงผลเป็น:

    eq4

รูปแบบนี้ดำเนินต่อไปสำหรับ n ที่ใหญ่ขึ้น คุณสามารถบอกได้ว่า n แทนจำนวนบรรทัดหารในสมการ

หมายเหตุ

  • \cfrac\fracถูกนำมาใช้แทนการร่วมกันมากขึ้น
  • \dotsถูกใช้แทน\ddotsสำหรับ n = 0
  • รับอินพุตจาก stdin หรือบรรทัดรับคำสั่ง
  • เอาต์พุตไปยัง stdout (พร้อมบรรทัดใหม่ต่อท้ายเผื่อเลือก)
  • หรือคุณอาจเขียนฟังก์ชันที่รับค่า n เป็นจำนวนเต็มและส่งกลับรหัส MathJax เป็นสตริง (หรือยังคงพิมพ์ได้)

เกณฑ์การให้คะแนน

การส่งที่น้อยที่สุดในหน่วยไบต์ชนะ Tiebreaker ไปที่การส่งก่อนหน้า


เพียงทราบถึงผู้ที่ต้องการเรียกใช้สนิปเพตตัวอย่าง: เช่นเดียวกับสนิปเพตจำนวนมาก (ส่วนใหญ่) มันไม่ทำงานใน Safari
Alex A.

ตัวอย่างสแต็กไม่ทำงานเมื่อคุณพิมพ์รายการ ... มันให้Uncaught ReferenceError: textbox is not defined
soktinpk

@soktinpk แปลกฉันมีปัญหาเดียวกัน แต่ส่วนย่อยตรงนี้ใช้ได้แม้ว่ามันจะเหมือนกัน ... นี่คือตัวนับไบต์ภายนอกในกรณี
งานอดิเรกของ Calvin

MathJax ถูกเปิดใช้งานอีกครั้งสำหรับ PPCG!
สูญเสีย

คำตอบ:


6

CJam, 51 50 ไบต์

$$\varphi=1+""\cfrac1{1+"ri:R*'\"ddots"R!>'}R*'$_

คำอธิบายรหัส:

"$$\varphi=1+"             "This is a static string";
  "\cfrac1{1+"ri:R*'\      "Repeat this string input number times. Put a \ at the end";
    "ddots"R!>             "If input is 0, remove 1st characters, else not";
      '}R*                 "Put the closing bracket R times";
        '$_                "The final $$";

ตัวอย่างไม่กี่:

N = 0

$$\varphi=1+\dots$$

N = 4

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

N = 15

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}}}}}}}}}}}}$$

อัปเดต - บันทึก 1 ไบต์ด้วย Sp3000!

ลองออนไลน์ได้ที่นี่


1
สับเล็กน้อยให้ 50:"$$\varphi=1+""\cfrac1{1+"ri:R*'\"ddots"R!>'}R*'$_
Sp3000

ฉันไม่ได้ดูคำตอบของคุณเลย - แค่เรื่องบังเอิญ ทั้งสองวิธีการแก้ปัญหา 49 ไบต์ Pyth ของคุณคือ 50 ไบต์ในความเป็นจริงเพราะคุณจะต้องหลบหนีไป\v \\v
orlp

@orlp และนั่นคือเหตุผลที่ฉันย้อนกลับไปเพราะไม่มีประโยชน์ในการแก้ปัญหาที่นำเสนอที่นี่เช่นกัน
เครื่องมือเพิ่มประสิทธิภาพ

10

Python, 70 68 67 ไบต์

lambda n:"$$\\varphi=1+\%sdots%s$$"%("cfrac1{1+\\"*n+"d"[:n],"}"*n)

นี่เป็นการกำหนดฟังก์ชั่นนิรนามซึ่งใช้การคูณสตริงอย่างง่ายและการจัดรูปแบบสตริง

(ขอบคุณ @xnor ที่ชี้ให้เห็นว่า\\cสามารถเขียนได้\cเนื่องจากcไม่สามารถหลบหนีได้ แต่น่าเสียดายที่นี่ไม่เป็นความจริง\\vเนื่องจาก\vเป็น ASCII 11)

ความพยายามก่อนหน้า:

lambda n:"$$\\varphi="+"1+\\cfrac1{"*n+"1+\\"+"ddots"[n<1:]+"}"*n+"$$"
lambda n:r"$$\varphi=%s1+\%s$$"%("1+\cfrac1{"*n,"ddots"[n<1:]+"}"*n)

คุณเอาชนะฉันได้ 14 วินาที! นอกจากนี้ยังมี 70 ตัวอักษร
xnor

2
ฉันคิดว่ามันใช้งานได้โดยไม่ต้องใช้ double \ before cfrac
xnor

@ xnor ดูเหมือนว่าขอบคุณ! และขออภัยที่ใช้ Python golfs ตลอดเวลา ...
Sp3000

ไม่ฉันได้ขโมยส่วนแบ่งการแข่งขันที่ยุติธรรมของฉันไปโพสต์จากคุณ
xnor

4

> <> , 89 86 + 3 = 89 ไบต์

:&"$$"{\l?!;o70.
}-1v!?:<{"}"
&:&\~"stod"&:&?:
{1->:?!v}"\+1{1carfc"
rav\$$"\~"\+1=ihp

วิ่งด้วย -vธงเช่น

py -3 fish.py program.fish -v 3

น่าประหลาดใจ> <> ไม่ได้ทำอะไรที่แย่เกินไปที่นี่เนื่องจากเราสามารถเลียนแบบการคูณสตริงโดยมีตัวนับที่เราลดการวนซ้ำทุกครั้ง

:&"$$"{\                     Put n into the register and push "$$"
}-1v!?:<{"}"                 Push n "}"s
&:&\~"stod"&:&?:             Push "stod", and copy the final "d" if n != 0
{1->:?!v}"\+1{1carfc"        Push n "\+1{1carfc"s
rav\$$"\~"\+1=ihp            Push "\+1=ihprav\$$"
       \l?!;o70.             Keep printing chars until the stack is empty

(-3 ไบต์ขอบคุณ @randomra)


สองการปรับปรุงเล็กน้อยสำหรับ 3 ไบต์ (ในตอนท้ายของบรรทัดที่ 1 และบรรทัดที่ 3): pastebin.com/wEbKhuUH
randomra


4

เรติน่า 160 + 7 = 167 ไบต์

;`.+
$$$$\varphi=1+\dots#$0$$$$

; + (\d*)#(?:(((((((((9)|8)|7)|6)|5)|4)|3)|2)|1)|0) $1$1$1$1$1$1$1$1$1$1$2$3$4$5$6$7$8$9$10# ;#

;+`\\d?dots\d(\d*)
\cfrac1{1+\ddots$1}

แต่ละบรรทัดจะเข้าสู่แฟ้มแหล่งที่มาที่แยกต่างหากเพื่อให้ฉันได้เพิ่ม1 ไบต์สำหรับแต่ละไฟล์หลังจากที่ครั้งแรก อย่างไรก็ตามเพื่อความสะดวกขณะนี้ Retina ก็รองรับ-sตั้งค่าสถานะบรรทัดคำสั่งซึ่งช่วยให้คุณสามารถวางสิ่งเหล่านี้ทั้งหมดในไฟล์เดียว

ส่วนที่ใหญ่ที่สุดของรหัส (98 ไบต์) จะใช้ในการแปลงอินพุตจากทศนิยมเป็น unary (ไฟล์ 3 ถึง 6) ความคิดพื้นฐานของรหัสคือการล้อมรอบการป้อนข้อมูลใน$$\varphi=1+\dots...$$แล้วแปลงป้อนข้อมูลไปยังเอกและขยายแล้ว\dotsNหรือ\ddotsNที่ระดับถัดไปของเศษส่วนต่อเนื่อง (ในขณะที่ลดNการN-1)


4

Julia, 76 73 ไบต์

n->("\$\$\\varphi=1+"*"\\cfrac1{1+"^n*"\\"*"d"^(n>0)*"dots"*"}"^n*"\$\$")

สิ่งนี้จะสร้างฟังก์ชั่นแลมบ์ดาที่ใช้จำนวนเต็มเดียวเป็นอินพุตและส่งคืน MathJax เป็นสตริง หากต้องการเรียกใช้ให้ตั้งชื่อเช่นf=n->...เรียกว่าให้มันชื่อเช่น

น่าเสียดายที่เครื่องหมายแบ็กสแลชและเครื่องหมายดอลลาร์จะต้องรอดในสตริงจูเลียเพราะทั้งคู่มีความหมายพิเศษ การต่อข้อมูลสตริงจะดำเนินการโดยใช้*และการทำซ้ำสตริงด้วย^และสตริงซ้ำกับ

ตัวอย่าง:

julia> f(0)
"$$\varphi=1+\dots$$"

julia> f(4)
"$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$"

ข้อเสนอแนะยินดีต้อนรับเช่นเคย!


แก้ไข:บันทึกแล้ว 3 ไบต์ขอบคุณ plannapus!


"d"^(n>0)แทนที่จะ(n>0?"d":"")ทำให้สั้นลง
plannapus

@plannapus: ฉันไม่เข้าใจชื่อของคุณ แต่คุณเป็นอัจฉริยะ! ฉันลืมไปแล้วว่า"string"^0ถูกต้อง
Alex A.

ไม่เป็นไร นามแฝงของฉันคือชื่อของเรเดียนประเภทซึ่งเป็นตัวเองเป็นนักบรรพชีวินวิทยารังสี มันแปลว่า "บี้หัวผักกาด" ฉันคิดว่า :)
plannapus

ฉันกำลังรอคำตอบ BF =)
ข้อผิดพลาด

@flawr: ฉันหวังว่าคุณจะไม่รอฉันเลย ...
อเล็กซ์ A.

3

องค์ประกอบ 63 ตัวอักษร

_+2:'\$\$\\varphi\=1\+`[\\cfrac1\{1\+`]?\\[d.]`"dots`[\}`]\$\$`

นี่คือทางออกที่ตรงไปตรงมามากที่สุด น่าเสียดายที่สัญลักษณ์จำนวนมากในผลลัพธ์ทำให้ความยาวของโปรแกรมเพิ่มขึ้นอย่างมาก (การใส่สตริงในโปรแกรมทำให้สัญลักษณ์ทำงานโดยตรง) ฉันแน่ใจว่ามีห้องสำหรับเล่นกอล์ฟ แต่ฉันไม่มีเวลามากขึ้นในตอนนี้

เนื่องจากภาษานี้ยังไม่เป็นที่รู้จักจึงเป็นลิงค์ไปยังล่ามเขียนด้วยภาษา Perl

_+2:                     take input, add 0 to it to make it a number, and duplicate
'                        put one copy onto the control stack
\$\$\\varphi\=1\+        a "bare" string
`                        output the string
[                        start a for loop, based on the input from earlier
    \\cfrac1\{1\+        a bare string
    `                    output it
]                        end the for loop
?                        test the second copy of the input for non-zero-ness
\\                       a bare \
[d.]                     a "for" loop used as an if block, appends a "d"
`                        output it
dots`                    output dots
"                        get rid of the if condition result so the old result is on top
[                        another for loop, still using the input from earlier
    \}`                  output a }
]                        end for loop
\$\$`                    output $$

+1 สำหรับการใช้องค์ประกอบ! ถึงเวลาแล้วที่องค์ประกอบจะกลายเป็นชื่อครัวเรือน!
Alex A.

3

T-SQL, 229 227 138

รับเมื่อฉันได้คำตอบ SQL และเช่นเคยมัน verbose มาก แก้ไขแน่นอนว่าฉันมีความซับซ้อนมากกว่าและไม่จำเป็นต้องมีคำสั่งเรียกซ้ำเลย

CREATE FUNCTION A(@ INT)RETURNS TABLE RETURN SELECT'$$\varphi=1+\'+REPLICATE('cfrac1{1+\',@)+IIF(@>0,'d','')+'dots'+REPLICATE('}',@)+'$$'S

เป็นต้นฉบับ

CREATE FUNCTION A(@ INT)RETURNS TABLE RETURN WITH R AS(SELECT CAST('$$\varphi=1+\dots'AS VARCHAR(MAX))S,0N UNION ALL SELECT REPLACE(STUFF(S,14,0,'cfrac1{1+\'),'\do','\ddo')+'}',N+1FROM R WHERE N<=@)SELECT S+'$$'S FROM R WHERE N=@

สิ่งนี้จะสร้างฟังก์ชันตารางแบบอินไลน์ที่ใช้แบบสอบถามแบบเรียกซ้ำเพื่อสิ่งต่างๆในส่วนเพิ่มเติม cfrac1{1+\ต่อการทำซ้ำ การเปลี่ยนจุดเป็น ddots นั้นมีราคาแพง แต่บันทึกไว้สองสามข้อเพื่อกำจัดการแทนที่ :) ต้องมีการร่ายสตริงต้นฉบับด้วย 'VARCHAR (MAX)' เสียด้วย

มันใช้ดังนี้SQLFiddle :

SELECT * 
FROM (SELECT N FROM(VALUES(0),(1),(2),(3),(4),(5))A(N)) N
    CROSS APPLY A(N.N)
N   S
--- ---------------------------------------------------------------------------
0   $$\varphi=1+\dots$$
1   $$\varphi=1+\cfrac1{1+\ddots}$$
2   $$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$
3   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$
4   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$
5   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}}$$

3

ทับทิม, 76 75 71 70 ไบต์

สิ่งนี้ให้ความรู้สึกตรงไปตรงมาอย่างมีพิรุธดังนั้นโปรดแจ้งให้เราทราบหากฉันทำอะไรผิดพลาด

บังเอิญนี่เป็นสิ่งแรกที่ฉันเคยเขียนใน Ruby - ฉันกำลังมองหาภาษาที่สนับสนุนการทำซ้ำสตริงโดยการคูณและ Ruby ดูเหมือนจะทำเคล็ดลับ

f=proc{|n|'$$\varphi=1+'+'\cfrac1{1+'*n+'\dd'[0,n+2]+'ots'+'}'*n+'$$'}

ที่จะนำไปใช้เช่น:

f.call(0)
$$\varphi=1+\dots$$

f.call(3)
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

@ Sp3000 อดีตไม่ได้เนื่องจากเห็นได้ชัดว่าทับทิมไม่สามารถแปลง Booleans เป็นจำนวนเต็ม หลังทำงานแม้ว่าดังนั้นขอบคุณสำหรับที่!
vvye

2

J, 60 ไบต์

(<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*

การใช้งาน:

   ((<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*) 0
$$\varphi=1+\dots$$

   ((<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*) 3
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

วิธี:

สตริง'$$\varphi=1+\ cfrac1{1+\ d dots } $$ 'จะถูกตัดที่ช่องว่างและชิ้นส่วนจะถูกทำซ้ำ1 n signum(n) 1 n 1ครั้งแล้วชิ้นส่วนเหล่านี้จะถูกตัดแบ่ง

ลองออนไลน์ได้ที่นี่


2

R, 93 90

เหมือนกับคำตอบอื่น ๆ ขอบคุณ @plannapus สำหรับคำแนะนำการสแกน

cat('$$\\varphi=1+\\',rep('cfrac1{1+\\',n<-scan()),if(n)'d','dots',rep('}',n),'$$',sep='')

catใช้มากกว่า paste0 เป็นผลจะจบลงด้วยมากกว่า\\\

ในการใช้งาน

> > cat('$$\\varphi=1+\\',rep('cfrac1{1+\\',n<-scan()),if(n)'d','dots',rep('}',n),'$$',sep='')
1: 3
2: 
Read 1 item
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

+1 แต่แทนที่จะทำให้มันเป็นฟังก์ชั่นหากคุณมีผู้ใช้ป้อนnเป็น stdin ในการเกิดขึ้นครั้งแรกคุณสามารถบันทึกตัวละครบางตัว:cat("$$\\varphi=1+\\",rep("cfrac1{1+\\",n<-scan()),if(n)"d","dots",rep("}",n),"$$",sep="")
plannapus

2

JavaScript, 114 109 106 85 85 ไบต์ขอบคุณ George Reith

f=n=>'$$\\varphi=1+\\'+((x='cfrac1{1+\\'.repeat(n))&&x+'d')+'dots'+'}'.repeat(n)+'$$'

นี่คือรายการแรกของฉันในการแข่งขัน codegolf! โปรดบอกวิธีการปรับปรุง

รายการก่อนหน้า (106 ไบต์):

w="$$\\varphi=";y=n=>{return a=!n?w+"1+\\dots$$":w+"1+\\cfrac1{".repeat(n)+"1+\\ddots"+"}".repeat(n)+"$$"}

รายการก่อนหน้า (109 ไบต์):

x="repeat",w="$$\\varphi=";y=n=>{return a=!n?w+"1+\\dots$$":w+"1+\\cfrac1{"[x](n)+"1+\\ddots"+"}"[x](n)+"$$"}

รายการก่อนหน้า (114 ไบต์):

x="repeat";y=n=>{return a=!n?"$$\\varphi=1+\\dots$$":"$$\\varphi="+"1+\\cfrac1{"[x](n)+"1+\\ddots"+"}"[x](n)+"$$"}

วางลงในคอนโซลเบราว์เซอร์และโทรเป็นf(n)ที่nเป็นจำนวนของขั้นตอนฯ

รหัสย่อ :

function y(n) {
   if(n === 0) {
      return "$$\\varphi=1+\\dots$$";
   } else {
      return "$$\\varphi=" + "1+\\cfrac1{".repeat(n) + "1+\\ddots"+"}".repeat(n)+"$$";
   }

2
x = 'ทำซ้ำ' ทำให้อีกต่อไปไม่สั้นลง: ใช้. ทำซ้ำตามเดิมและบันทึก 3 ตัวอักษร
edc65

@ edc65 ขอบคุณ !!

pastebin.com/uU7tgFm9การปรับปรุงเพิ่มเติมบางอย่าง
edc65

สามารถแปลงเป็น 87 ไบต์ได้เช่น: pastebin.com/0Hkv9uft
George Reith

หรือ 85 bytes pastebin.com/k90Fyr2m
George Reith

1

Pyth - 52 ไบต์

วิธีการง่ายๆใน Pyth ซึ่งขโมยมาจากโซลูชัน Python ของ @ Sp3000 %ใช้ประกอบการจัดรูปแบบสตริง

%"$$\\varphi=1+\%sdots%s$$"(+*"cfrac1{1+\\"Q<\dQ*\}Q

ลองมันออนไลน์ได้ที่นี่

%                  String formatting
 "$$ . . . $$"     String to be formatted
 (                 Tuple (no need to close it)
  +                String concatenation
   *"..."Q         String repetition input times
   <\dQ            If Q>0 then d
  *                String repetition
   \}              The character "}"
   Q               Q times


1

JavaScript (ES6), 76 80

เรียกซ้ำบางส่วน เดี่ยว / คู่ d เป็นส่วนที่น่ารำคาญที่สุด

F=n=>"$$\\varphi=1+\\"+(R=d=>n--?"cfrac1{1+\\"+R("d")+"}":d+"dots")("")+"$$"

ทดสอบในคอนโซล Firefox / FireBug

> for(i=0;i<5;i++)console.log(F(i))

$$\varphi=1+\dots$$
$$\varphi=1+\cfrac1{1+\ddots}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

0

Python, 90 116

เนื่องจากโซลูชันที่มีประสิทธิภาพที่สุดได้รับการโพสต์แล้วหลายครั้งฉันจึงไปแทนที่สตริงแทน

f=lambda n:'$$\\varphi=1+\ddots$$'if n==0 else f(n-1).replace('\ddots','\cfrac{1+\ddots}')
# or, with exactly the same length
x='\ddots';f=lambda n:'$$\\varphi=1+'x+'$$'if n==0 else f(n-1).replace(x,'\cfrac{1+'x+'}')

แก้ไข: ด่ามองข้ามdotsแทนddotsสำหรับn=0ตอนนี้โซลูชันแบบเรียกซ้ำที่มีส่วนคำสั่งพิเศษติดอยู่นั้นน่าเกลียดเกินกว่าที่จะแข่งขันได้

x='$$\\varphi=1+\d%sots$$';f=lambda n:x%''if n==0 else x%'d'if n==1 else f(n-1).replace('\ddots','\cfrac{1+\ddots}')

ขณะนี้ไม่มีn=0กรณีพิเศษ (จุดแทน ddots)
randomra

0

Haskell, 86

n%x=[1..n]>>x
f n="$$\\varphi=1+"++n%"\\cfrac1{1+"++'\\':drop(0^n)"ddots"++n%"}"++"$$"

เป็นแนวทางเดียวกันกับแนวทางแก้ไขทั้งหมดที่นี่ drop(0^n)"ddots"น่ารัก แต่!

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