4, 8, 15, 16, 23, 42
เขียนโปรแกรมที่ให้ลำดับของตัวเลขนี้อย่างไม่สิ้นสุด อย่างไรก็ตามตัวเลขจะต้องไม่ปรากฏในซอร์สโค้ดของคุณทุกที่
ต่อไปนี้ไม่ใช่โปรแกรม Java ที่ถูกต้องในการส่งออก The Numbers เพราะ The Numbers ปรากฏในซอร์สโค้ด:
class TheNumbers {
public static void main(String[] args) {
for(int n = 0;;) System.out.println(
n == 4 ? n = 8 :
n == 8 ? n = 15 :
n == 15 ? n = 16 :
n == 16 ? n = 23 :
n == 23 ? n = 42 : (n = 4)
);
}
}
คำจำกัดความของ"ตัวเลขต้องไม่ปรากฏในซอร์สโค้ดของคุณ"มีดังนี้:
- คุณต้องไม่ใช้ตัวเลข 4
- คุณต้องไม่ใช้เลข 8
- คุณต้องไม่ใช้ตัวเลข 1 ตามด้วยตัวเลข 5
- คุณต้องไม่ใช้ตัวเลข 1 ตามด้วยตัวเลข 6
- คุณต้องไม่ใช้ตัวเลข 2 ตามด้วยตัวเลข 3
หากภาษาของคุณละเว้นอักขระบางตัวที่สามารถวางระหว่างตัวเลขได้แสดงว่าไม่ใช่การทดแทนที่ถูกต้อง ตัวอย่างเช่นถ้าภาษาของคุณตีความตัวอักษร1_5
เป็น15
นี้จะนับเป็นเลข 1 ตามด้วยเลข 5
ฐานทางเลือกจะรวมอยู่ในข้อ จำกัด ดังนั้นตัวอย่างเช่น:
- ไบนารี 100 ไม่สามารถใช้แทน 4 ได้
- Octal 10 ไม่สามารถใช้แทนได้ 8
- Hexadecimal F ไม่สามารถใช้แทน 15
ดังนั้นต่อไปนี้เป็นโปรแกรม Java ที่ถูกต้อง (แต่ไม่ได้รับแรงบันดาลใจมาก) ในการส่งออก The Numbers เพราะ The Numbers ไม่ปรากฏในซอร์สโค้ด:
class TheNumbers {
public static void main(String[] args) {
for(int n = '*';;) {
System.out.println(n -= '&');
System.out.println(n *= 2);
System.out.println(n += 7);
System.out.println(++n);
System.out.println(n += 7);
System.out.println(n += 19);
}
}
}
โปรดทราบว่าในโปรแกรมนั้น'*'
และ'&'
ถูกแทนที่ด้วยจำนวนเต็ม 42 และ 38 เพราะมิฉะนั้นตัวเลข 4 และ 8 จะปรากฏในซอร์สโค้ด
คำจำกัดความของ"เอาท์พุทลำดับ"เปิดให้ตีความ ตัวอย่างเช่นโปรแกรมที่ส่งออกร่ายมนตร์จะเล็กลงเรื่อย ๆ จนกว่าพวกเขาจะ "เล็ก" ไม่น่าจะถูกต้อง
ความรุ่งโรจน์ถ้าคุณสามารถสร้างลำดับในบางวิธีที่ไม่ใช่การเข้ารหัสแต่ละหมายเลข
- สืบเนื่องมาจากสูตร ความประทับใจของฉันคือไม่มีใคร แต่อาจจะมีหรือมันอาจแกล้งทำ
- แก้ไขตัวสร้างแบบสุ่มหลอกเพื่อส่งคืนลำดับ
นี่คือการประกวดความนิยมดังนั้นจงสร้างสรรค์ คำตอบที่ได้คะแนนมากที่สุดในวันที่ 26 มีนาคมคือผู้ชนะ
This isn't an interesting question, IMHO, since the solution is pretty trivial. Please post in the sandbox next time.
มันจะดีกว่าThis is a stupid question.
แต่ก็เป็นเพียงความเห็นส่วนตัวของฉัน