คือเขียนโปรแกรมคิดผลลัพธ์ของโจทย์เดียวกัน เขียนโปรแกรมคำนวณว่าจะต้องใช้เครื่องหมายบวก ลบ คูณ หาร และใส่วงเล็บอย่างไรที่ทำให้ผลลัพธ์ของแต่ละบรรทัดมีค่าเท่ากับ 5 อย่างตัวอย่างบรรทัดแรกเป็นเฉลยแบบหนึ่ง ส่วนบรรทัดที่เหลือต้องเขียนโปรแกรมให้แสดงผลลัพธ์ออกมา
(1 + 1) + (1 + 1) + 1 = 5
2 ? 2 ? 2 ? 2 ? 2 = 5
3 ? 3 ? 3 ? 3 ? 3 = 5
4 ? 4 ? 4 ? 4 ? 4 = 5
5 ? 5 ? 5 ? 5 ? 5 = 5
6 ? 6 ? 6 ? 6 ? 6 = 5
7 ? 7 ? 7 ? 7 ? 7 = 5
8 ? 8 ? 8 ? 8 ? 8 = 5
9 ? 9 ? 9 ? 9 ? 9 = 5
ใครมีอัลกอริทึมเจ๋งๆ ก็ตอบด้วยนะครับ ใช้ภาษาอะไรเขียนก็ได้นะครับ อยากรู้ความคิดของแต่ละคน เพราะผมก็ยังคิดไม่ออก
ก็แค่เอามันทั้งหมดมา +
ก็แค่เอามันทั้งหมดมา + กันแล้วหารด้วยตัวเองก็พอนิครับเช่น 2+2+2+2+2 = 10 หารด้วย 2 =5 ไงครับส่วนว่าจะแปลงให้เป็น algorithm ยังไงก็ไปคิดต่อนะครับน้อง
คือไม่ใช่อย่างนั้นครับ
คือ ถ้าเอา 2+2+2+2+2 แล้วมาหาร 2 อีกที มันเกินโจทย์ที่กำหนดมาให้อ่ะครับ จะได้ประมาณเนี่ยอ่ะครับถ้าคิดด้วยมือ
(2+2+2)-(2/2)
3+(3/3)+(3/3)
4+(4/4)+(4-4)
5+(5-5)+(5-5)
6-(6/6)+(6-6)
7-(7/7)-(7/7)
8 กับ 9 ยังไม่ได้คิด
ถ้าคิดด้วยมือมันก็ได้อ่ะนะครับ แต่ถ้าเอาเป็นอัลกอริทึม สำหรับไปเขียนโปรแกรม ผมคิดไม่ออก
ตำแหน่งที่ใส่วงเล็บเปิดได้มีก
ตำแหน่งที่ใส่วงเล็บเปิดได้มีกี่ตำแหน่ง ตำแหน่งที่ใส่วงเล็บปิดได้มีกี่ตำแหน่ง ตำแหน่งที่จะใส่เครื่องหมายได้มีทั้งหมด 5 ตำแหน่ง แต่ละตำแหน่งใส่เครื่องหมายได้ 4 เครื่องหมาย ถ้าอย่างง่าย ก็วนลูป แต่จะเลือกวนลูปอย่างไร ให้ไม่ซ้อนกันมากเกินไป ลองคิดดู
แต่ต้องแปลงจาก การจัดเรียงเชิงสายอักขระ ให้เป็นการคำนวณเชิงตัวเลขให้ได้ด้วย
ใช้ สมอง อันน้อยนิด ของ เด็ก
ใช้ สมอง อันน้อยนิด ของ เด็ก ปี 2 #8
8-((8+8+8)/8)=5
(9*9+9)/(9+9)=5
ประมาณนี้แหละครับ อิอิ