Project Euler Problem #5

2520 เป็นเลขที่เล็กที่สุดที่สามารถหารทุกๆตัวเลขจาก 1 ถึง 10 ได้ลงตัว

จงหาเลขที่สามารถหารทุกตัวเลขตั้งแต่ 1 ถึง 20 ได้ลงตัว

(โจทย์นี้แปลมาจาก projecteuler.net สามารถเผยแพร่ภายใต้ลิขสิทธิ์ CC BY-NC-SA 2.0 UK)


Updated

1 Like

คะแนน
เรน @Rain:
ชัดเจน: 3/3 สร้างสรรค์: 1/3 กระชับ 2/3 ความเร็ว 2/3
Comment: โอเคครับ ชัดเจนดี ตรงไปตรงมา ชอบตรงที่มีการเขียนฟังค์ชั่นด้วย ทำให้ while loop อ่านง่ายขึ้นอย่างมหาศาล ส่วนความเร็ว และตรงที่บวก 2520 ครับ ทำให้เร็วขึ้นเยอะ

@Home
ชัดเจน: 2/3 สร้างสรรค์: 2/3 กระชับ 1/3 ความเร็ว 3/3
Comment: บล๊อกนี้ควรอยู๋ใน function ของมันเองครับเพราะใช้ซ้ำ:

while ((using1 % 19 == 0) && (using2 % 19 == 0))
      {
        using1 = using1/19;
        using2 = using2/19;
        value[insert] = 19;
        insert++;
      }

@STGSafe
ชัดเจน: 2/3 สร้างสรรค์: 2/3 กระชับ 2/3 ความเร็ว 1/3
Comment: ถ้าใช้ 2520 ไม่ต้องเช็คก็ได้ครับว่า 1-10 หารลงตัวไหม เพราะเรารู้อยู่แล้วว่าลงตัว ทำให้ช้าลงไปหน่อยครับ ไม่ต้องเริ่มที่เลข 1 ด้วยครับ และไม่ต้องใช้เลขคู่

@teerathornmoon3
ชัดเจน: 2/3 สร้างสรรค์: 2/3 กระชับ 2/3 ความเร็ว 1/3
Comment: ถ้าใช้ 2520 ไม่ต้องเช็คก็ได้ครับว่า 1-10 หารลงตัวไหม เพราะเรารู้อยู่แล้วว่าลงตัว ทำให้ช้าลงไปหน่อยครับ ไม่ต้องเริ่มที่เลข 1 ด้วยครับ และไม่ต้องใช้เลขคู่

@prin09
ชัดเจน: 2/3 สร้างสรรค์: 1/3 กระชับ 2/3 ความเร็ว 2/3
Comment: โดยรวมโค้ดเร็วครับ แต่เร็วกว่านี้ได้ ลองอ่านคอมเมนท์ที่ผมทิ้งไว้ให้ @teerathornmoon3 ครับ

@rayaaaa
ชัดเจน: 1/3 สร้างสรรค์: 3/3 กระชับ 1/3 ความเร็ว 1/3
Comment: อ่านยาก แต่ก็โอเคครับ ลองดู comment ที่ผมเขียนให้คนอื่นถึงวิธีการเพิ่มความเร็วครับ และผมว่าน่าจะทำให้กระชับกว่านี้ได้อีกเยอะเลย แต่เป็นวิธีที่น่าสนใจครับ ให้คะแนนความสร้างสรรค์

@Akira
ชัดเจน: 1/3 สร้างสรรค์: 3/3 กระชับ 1/3 ความเร็ว 1/3
Comment: อ่านแล้วงงเหมือนกันครับ แต่วิธีน่าสนใจครับ

Home’s Answer:

1 Like

ของธีครับ

Java ขอบเซฟครับ

:raising_hand_woman:t2::sparkles: