ควินที่ปลอดภัยในการหมุน


17

เขียนควินที่เหมาะสมซึ่งการหมุนทุกครั้งเป็นควินที่เหมาะสม

ตัวอย่างเช่นหากซอร์สโค้ดของคุณคือabcdef:

  • abcdef จะส่งออก abcdef
  • bcdefa จะส่งออก bcdefa
  • cdefab จะส่งออก cdefab
  • defabc จะส่งออก defabc
  • efabcd จะส่งออก efabcd
  • fabcde จะส่งออก fabcde

หมุนเวียน"จะทำโดยการแยกสตริงเป็นสองชิ้นและการย้อนกลับสั่งของพวกเขา"

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

นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้


ดังนั้นฉันสามารถมีโปรแกรมaaabbbและฉันสามารถพูดได้ว่าการหมุนครั้งต่อไปคือbbbaaaอะไร? หรือการหมุนครั้งต่อไปจะต้องเป็นbaaabbอย่างไร
Beta Decay

1
baaabbการหมุนต่อไปคือ
Leun Nun

1
หมายเหตุด้านฟิวชั่นมาตรฐานฟิวชั่นคือการหมุนที่ปลอดภัยแตกต่างกัน: ไม่ว่าคุณจะหมุนอย่างไรมันจะพิมพ์รหัสต้นฉบับดั้งเดิมเสมอ
Martin Ender

1
หากควินินในภาษาหนึ่งไบต์การโกงนั้นเป็นอย่างไร
MD XF

1
คือนี้ควินที่เหมาะสม?
tsh

คำตอบ:


10

รหัสเครื่อง Motorola MC14500Bขนาด 1 ไบต์

คะแนน 1 ไบต์มาจากคำแนะนำ 4 บิตสองข้อ:

0000 0010

คำอธิบาย

Motorola MC145008 เป็นชิพตัวประมวลผล CMOS แบบสแตติกหนึ่งบิตซึ่งปรับให้เหมาะกับงานที่ต้องการการตัดสินใจ โปรเซสเซอร์นั้นอยู่ในแพคเกจ 16 พินและมี 16 คำสั่งสี่บิต คำแนะนำดำเนินการกับข้อมูลที่ปรากฏบนบรรทัดข้อมูลสองทิศทางหนึ่งบิตและข้อมูลในการลงทะเบียนผลลัพธ์แบบบิตเดียวภายใน ICU การดำเนินการทั้งหมดจะดำเนินการในระดับบิต

หมุดของหน่วยประมวลผลมีหมายเลข:

การกำหนด PIN

คำแนะนำจะนำเสนอให้กับชิปบนหมุดการเรียนการสอนที่ 4 ( I0, I1, I2, I3) และได้รับการสลักเข้าไปในการเรียนการสอนลงทะเบียน (IR) บนขอบลบไปของ X1

ตามข้อกำหนดของฆราวาสหมุด 4 ถึง 7 ใช้เพื่อแสดงคำสั่งลงทะเบียนพร้อมคำแนะนำ แต่บิตจะถูกตีความในลำดับย้อนกลับ ตัวอย่างเช่นคำสั่ง0001จะมีพิน # 7 ในสถานะสูงและหมุด 6 ถึง 4 ในสถานะต่ำ

คำแนะนำถูกถอดรหัสใน Control Logic (CTL) ส่งคำสั่งตรรกะที่เหมาะสมไปยัง LU ถอดรหัสต่อไปจะดำเนินการยังอยู่ในการควบคุมการส่งจำนวนของธงเอาท์พุท ( JMP, RTN, FLGO, FLGF) เพื่อหมุดที่ 9 ถึง 12 เหล่านี้จะถูกนำมาใช้เป็นสัญญาณควบคุมภายนอกและยังคงใช้งานสำหรับระยะเวลาที่นาฬิกาเต็มหลังจากขอบลบไปของ X1

หรือใส่เพียงหมุดที่ 9 ถึง 12 มีธงส่งออกFLGF, FLGO, RTNและJMPตามลำดับ โปรดทราบว่าโดยทั่วไปข้อมูลนั้นจะเป็นมัลติเพล็กWRITE(pin # 2) หมุดธงออกคล้ายกับรหัสออกของภาษาอื่น

คำแนะนำของ ICU แต่ละตัวจะดำเนินการในช่วงเวลาเดียว

ผลัด

ตำแหน่งเริ่มต้น

0000    NOPO
0010    LDC

ช่วงเวลาของนาฬิกา:

  1. การNOPOเรียนการสอนวาง pin # 10 ( FLGO) ในสถานะสูง ก่อนช่วงเวลาของนาฬิกาถัดไปหมุดธงสัญญาณออกจะถูกใส่กลับเข้าไปในสถานะต่ำ
  2. LDCคำแนะนำโหลดสมบูรณ์ของค่ารถประจำทางข้อมูลเพื่อสรุปผลการลงทะเบียนโดยไม่ส่งผลกระทบต่อการส่งออกหมุดธง

ดังนั้นในช่วงเวลาสองช่วงเวลาของโปรแกรมนาฬิกาหมุดธงเอาท์พุทจึงแสดงเป็น0100 0000ย้อนกลับ (เช่นหมุดอินพุต) คือ0000 0010หรือคำสั่งดั้งเดิม

การหมุนครั้งแรก

0010    LDC
0000    NOPO

ช่วงเวลาของนาฬิกา:

  1. ส่วนเสริมของ Data Bus จะถูกโหลดไปยัง Result Register โดยไม่มีผลกระทบใด ๆ กับหมุดธงออก
  2. Pin # 10 เปลี่ยนเป็นสถานะสูง

ในช่วงระยะเวลาสองนาฬิกาหมุดธงส่งออกได้เป็นตัวแทนซึ่งเมื่อกลับเป็นคำแนะนำ0000 01000010 0000

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