คำถามติดแท็ก octave

10
เคล็ดลับสำหรับการเล่นกอล์ฟในระดับแปดเสียง
คุณมีเคล็ดลับทั่วไปอะไรสำหรับการเล่นกอล์ฟในอ็อกเทฟ ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหาเกี่ยวกับการเขียนโค้ดกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ Octave (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
18 code-golf  tips  octave 

3
วิธีการสลับองค์ประกอบในเวกเตอร์โดยใช้ฟังก์ชั่นที่ไม่ระบุชื่อใน Octave?
การสลับองค์ประกอบสองอย่างในเวกเตอร์ / เมทริกซ์นั้นง่ายมากใน Octave: x='abcde'; x([4,1])=x([1,4]) x = dbcae น่าเสียดายที่ฉันยังไม่พบวิธีการทำสิ่งนี้ภายในฟังก์ชั่นที่ไม่ระบุชื่อ ในขณะที่ฟังก์ชั่นด้านล่างนั้นถูกต้องตามหลักไวยากรณ์ แต่จะให้องค์ประกอบสองอย่างที่เปลี่ยนกลับไม่ใช่ทั้งหมดxเวกเตอร์ : f=@(x)(x([4,1])=x([1,4])) f(x) ans = ad มีวิธีการที่จะบรรลุพฤติกรรมที่ต้องการโดยใช้ฟังก์ชั่นที่ไม่ระบุชื่อในลักษณะที่เป็นกอล์ฟหรือไม่? สามารถสลับหลายองค์ประกอบด้วยวิธีนี้โดยใช้ฟังก์ชันที่ไม่ระบุชื่อได้หรือไม่? ฉันสามารถสร้างเวกเตอร์การจัดทำดัชนี: f=@(x)x([4,2,3,1,5])แต่การสร้างเวกเตอร์ดังกล่าวแบบไดนามิกนั้นอาจใช้เวลามากเช่นกัน

1
วิธีที่สั้นที่สุดในการกำหนดฟังก์ชั่นวนซ้ำแบบไม่ระบุชื่อใน Octave คืออะไร
ฉันชอบการเขียนโปรแกรมที่ใช้งานได้ใน Octave แต่ในทางปฏิบัติมันค่อนข้างไม่สะดวก ฉันสงสัยเกี่ยวกับวิธีที่สั้นที่สุดในการกำหนดฟังก์ชั่นวนซ้ำแบบไม่ระบุชื่อ ฉันมีความคิดบางอย่าง แต่ฉันสงสัยว่าถ้ามีวิธีที่จะรวมความคิดเหล่านี้เพื่อทำให้สั้นลง เพื่อประโยชน์ของคำถามนี้ให้นับซ้ำเป็นศูนย์ซ้ำ (เพื่อให้ส่วนของข้อมูลง่ายที่สุดเท่าที่จะทำได้) หากเหตุผลของฉันถูกต้องไม่มีชื่อตัวแปรที่ฉันใช้ในตัวอย่างต่อไปนี้ควรทับซ้อนกัน ฟังก์ชั่นที่ต้องการคือq(n)ซึ่งควรกลับเป็นศูนย์เสมอ iถูกนำมาใช้เป็นตัวแปรเคาน์เตอร์fเป็นฟังก์ชันเวียนซึ่งเราเรียกในขอบเขตของท้องถิ่นgf 44 ไบต์ "คำจำกัดความแบบอินไลน์ของf" q=@(n)(f=@(g,i){@()g(g,i-1),i}{~i+1}())(f,n) 44 ไบต์ "คำนิยามรายการอาร์กิวเมนต์ของf" q=@(n,f=@(g,i){@()g(g,i-1),i}{~i+1}())f(f,n) 44 ไบต์ "คำจำกัดความที่แยกต่างหากของf" f=@(i,g){@()g(i-1,g),i}{~i+1}();q=@(n)f(n,f) 41 ไบต์ "ฟังก์ชันที่ต้องการเป็นค่าส่งคืน" f=@(g)@(n){@()g(g)(n-1),n}{~n+1}();q=f(f) ว่า 'ชนะ' ปัจจุบันมีแรงบันดาลใจจากคำตอบนี้โดย flawr อย่างไรก็ตามด้วยวิธีการที่หลากหลายในการทำสิ่งนี้บางทีใครบางคนอาจคิดถึงวิธีการที่สั้นลง แน่นอนว่าเป้าหมายของมันคือให้ต่ำกว่า 39 ไบต์สำหรับฟังก์ชั่น "เต็ม" ลองออนไลน์!
12 code-golf  tips  octave 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.