นานมาแล้วผมเจอปัญหาที่ simple อยู่ปัญหาหนึ่ง
แต่วิธีแก้มันไม่ง่ายอย่างคำถามเลย
ปัญหามีอยู่ว่า มีคนอยู่จำนวนหนึ่งยืนล้อมวงกันเป็นวงกลม
โดยทุกคนติดหลายเลขประจำตัวที่เสื้อ
คนที่ 1 จะเริ่มนับ 0 แล้วคนต่อไปจะนับ 1
คนต่อไปจะนับ 0 ไปเรื่อยๆ
คนที่นับ 0 จะต้องออกจากวง ส่วนคนที่นับ 1 จะอยู่ในวงต่อไป
คำถาม ?????
ถ้ามีคนอยู่ 500,000 คน คนที่ติดหมายเลขอะไรจะอยู่เป็นคนสุดท้าย
ลองคิดกันดูเล่นๆนะครับ
ความท้าทายอยู่ที่การหาคำตอบว่าเราจะหามันได้ยังไงครับ
(ผมใช้คอมพิวเตอร์ช่วยคำนวน หุหุ)
ผมอต้องการหาคำตอบเลยได้เขียนโปรแกรมขึ้นมาดังนี้
[hide=5][code]<html><body>
<form action="" method="post">
<table>
<TR><TD>Total people</TD><TD><input type="number" name="people"/></TD></TR>
<TR><TD>Start say</TD><TD><select name=startsay><option value ="0">0</option><option value ="1">1</option></select> 0 = out</TD></TR>
</table>
<input name="submit" type="submit" value="Count"/><input name="submit" type="submit" value="Count with print"/>
</form>
</body></html>
<?
if(isset($people) && $people<1){ ?>
<script language="Javascript">
<!--
alert ("Total people must be NUMBER must more than 0")
//-->
</script>
<?
}else{