มันเป็นแอนนาแกรมควินไม่ใช่แค่ควิน!


10

งาน

ในความท้าทายนี้งานของคุณคือการเขียนโปรแกรมซึ่งไม่ต้องป้อนข้อมูลด้วยแอนนาแกรมที่มีจำนวนมากที่สุดเท่าที่จะทำได้

คะแนนของคุณจะเป็นจำนวนแอนนาแกรมของซอร์สโค้ดของโปรแกรมของคุณซึ่งเป็น quines ที่ถูกต้องหารด้วยจำนวนทั้งหมดของแอนนาแกรมที่เป็นไปได้เช่นเปอร์เซ็นต์ของแอนะล็อกที่เป็น quines ที่ถูกต้อง

ช่องโหว่มาตรฐานและกฎของ quines มาตรฐานใช้

หมายเหตุ:โปรแกรมของคุณต้องมีอักขระอย่างน้อย 3 ตัว (ไม่ใช่ 3 ไบต์)


อินพุต

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


เอาท์พุต

nจำนวนแอนนาแกรมที่แตกต่างกันของซอร์สโค้ดของโปรแกรมของคุณจะต้องเป็น quines ที่ถูกต้องโดยnแสดงถึงจำนวนของแอนนาแกรมที่คุณรวมอยู่ในคะแนนของคุณเช่น

สมการทางคณิตศาสตร์

quine-anagarams เหล่านั้นสามารถส่งออกในทางใดทางหนึ่งยกเว้นการเขียนผลลัพธ์ไปยังตัวแปร อนุญาตให้เขียนไฟล์คอนโซลหน้าจอและอื่น ๆ ได้ ฟังก์ชั่นreturnได้รับอนุญาตเช่นกัน


ตัวอย่างการให้คะแนน

codeสมมติว่ารหัสที่มาของโปรแกรมคือ และ,

  1. codecodeเอาท์พุท
  2. coedcoedเอาท์พุท
  3. cdoecdoeเอาท์พุท
  4. cdeocdeoเอาท์พุท
  5. cedocedoเอาท์พุท
  6. ceodceodเอาท์พุท
  7. ocdeocdeเอาท์พุท
  8. ocedocedเอาท์พุท
  9. odceodceเอาท์พุท
  10. odecไม่ส่งออกodecหรือสร้างข้อผิดพลาด
  11. oedcไม่ส่งออกoedcหรือสร้างข้อผิดพลาด
  12. oecdไม่ส่งออกoecdหรือสร้างข้อผิดพลาด
  13. doceไม่ส่งออกdoceหรือสร้างข้อผิดพลาด
  14. doecไม่ส่งออกdoecหรือสร้างข้อผิดพลาด
  15. dcoeไม่ส่งออกdcoeหรือสร้างข้อผิดพลาด
  16. dceoไม่ส่งออกdecoหรือสร้างข้อผิดพลาด
  17. decoไม่ส่งออกdecoหรือสร้างข้อผิดพลาด
  18. deocไม่ส่งออกdeocหรือสร้างข้อผิดพลาด
  19. eodcไม่ส่งออกeodcหรือสร้างข้อผิดพลาด
  20. eocdไม่ส่งออกeocdหรือสร้างข้อผิดพลาด
  21. edocไม่ส่งออกedocหรือสร้างข้อผิดพลาด
  22. edcoไม่ส่งออกedcoหรือสร้างข้อผิดพลาด
  23. ecdoไม่ส่งออกecdoหรือสร้างข้อผิดพลาด
  24. ecodไม่ส่งออกecodหรือสร้างข้อผิดพลาด

คะแนนของการแก้ปัญหานี้จะเป็น

สมการทางคณิตศาสตร์


เกณฑ์การชนะ

การแก้ปัญหาด้วยคะแนนสูงสุดชนะ! ในกรณีที่เสมอคำตอบด้วย char-count ที่สูงกว่า (ไม่ใช่ byte-count) จะชนะ (ดังนั้นจึงเป็น )! หากเน็คไทยังคงอยู่แสดงว่าโซลูชันที่โพสต์ก่อนหน้านี้ชนะ


ฉันเชื่อว่านี่เป็นของcodegolf.stackexchange.com/questions/121522/rotation-safe-quine ที่
Neil A.

@NeilA ฉันมั่นใจมากขึ้นว่าจริง ๆ แล้วการเขียนแบบควอเตอร์แบบหมุนได้อย่างปลอดภัยสามารถเขียนเป็นภาษาอื่น ๆ ได้มากกว่าภาษายูนารี (แม้ว่าจะไม่ใช่ในหลายภาษาและมันก็ยังคงเป็นเรื่องยาก)
Martin Ender

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

คำตอบ:


7

เอกภาพ 100%

นี่เป็นสิ่งเดียวกับคำตอบ Lenguageเพราะความสัมพันธ์ทั้งสองเกี่ยวข้องกันอย่างไร ฉันคิดว่ามันน่าสังเกต ฉันทำคะแนนให้ได้ 100% เพราะการเปลี่ยนรหัสทุกครั้งจะส่งผลให้ตัวเองเป็น quine และฉันเห็นว่าเป็น X / X * 100 = 100%

5.71728886e + 3431 ศูนย์ สามารถดูจำนวนเต็มได้ในตัวอย่างนี้:

Brainf * ck ที่เทียบเท่าอยู่ในตัวอย่างนี้:

แหล่งที่มา


ขอแสดงความยินดีกับผู้ชนะ! :)
Arjun

1
@Arjun ขอบคุณ แต่คำตอบ Legrange เป็นครั้งแรกและมีคะแนนเดียวกัน มันควรจะชนะแทน
วิศวกรขนมปัง

@ วิศวกร ToTo ฉันหมายความว่ามันไม่สำคัญสำหรับฉันมันเป็น CW ดังนั้นไม่มี 15: P
Christopher

4

Lenguage 100%

5.71728886e + 3431 ไบต์ว่าง สามารถดูจำนวนเต็มได้ในตัวอย่างนี้:


@ETHproductions แก้ไขมัน ฉันคิดว่าฉันชนะ
Christopher

เอาต์พุตนี้ 5.71728886e + 3431 ไบต์ว่างหรืออย่างอื่น?
ETHproductions

@ ETHproductions ใช่ฉันเดา
Christopher

สร้าง CW เพราะฉันอาจไม่อยู่แถวนี้เพื่อลบ: P
Christopher

@Christopher คุณควรระบุจำนวนไบต์ที่แม่นยำเพื่อให้สามารถถอดรหัสได้ ขณะนี้ยังไม่มีวิธีที่จะบอกสิ่งนี้
Ad Hoc Garf Hunter


2

Microscript II, คะแนน 1/1814399 = 5.5e-7

"qp1h"qp1h

"qph1"qph1 ยังเป็นควิน

Microscript II, คะแนน 5/119750399 = 4.2e-8

"qp12h"qp12h

"qp21h"qp21h, "qph12"qph12, "qph21"qph21, "qp1h2"qp1h2และ "qp2h1"qp2h1นอกจากนี้ยังมี quines

ฉันแน่ใจว่าบางคนสามารถทำคะแนนได้สูงกว่าทั้งสองอย่างนี้ได้ แต่นี่ยังเป็นคำตอบเดียวที่มีควินินอย่างน้อยหนึ่งครั้งซึ่งไม่ใช่โปรแกรมดั้งเดิม (ซึ่ง IMO ไม่ควรนับ)


1

V , 16.666 ... %

2i2i

ลองออนไลน์!

มี 6 แอนนาแกรมของรหัสนี้:

2i2i
22ii
i22i
i2i2
ii22
2ii2

และหนึ่งในนั้นคือ quine


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