หัวข้อ: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:01:56 สมมุติเรามีชุดเลข 1 5 2 6 3 7 4 (ทั้งนี้ชุดตัวเลขเป็นแค่ตัวอย่างนึงน่ะครับ จริง ๆ จะเป็นเลขใด ๆก็ได้ที่ไม่ซ้ำกันและจะเรียงหรือไม่เรียงเข้ามาก็ได้น่ะครับ)ถ้าเราต้องการที่จะเลือกตัวเลข โดยหาจำนวนตัวสมาชิกที่ดึงออกมา ให้ได้มากที่สุด โดยเมื่อดึงออกมามีข้อแม้ว่าเลขต้องเรียงกันจากน้อยไปมากตามลำดับ
อย่างคำตอบนี้ถ้าเรามองด้วยตาเปล่าก็จะสามารถบอกได้ว่า คำตอบคือ 4 จำนวน ก็คือ 1 2 3 4 ก็คือ [1] 5 [2] 6 [3] 7 [4] ซึ่งเราจะไม่เลือก 5 6 7 จาก 1 [5] 2 [6] 3 [7] 4 ซึ่งให้คำตอบเป็น 3 สมาชิกหรือวิธีอื่น ๆ ใช่ครับ ถ้าเรามองด้วยตาเปล่าก็ไม่ใช่เรื่องยาก แต่ผมก็นั่งคิดถึงพื้นฐานการแก้ปัญหาว่า ถ้าเป็นคอมพิวเตอร์หรือในทางโปรแกรมมิ่ง คอนเซปหรือแนวทางในการจะแก้ปัญหาจะแก้ได้อย่างไร ผมนั่งคิดมาเป็นวันแล้วเริ่มตัน ๆ เลยอยากให้เพื่อน ๆ ทุกท่าน เผื่อมีไอเดียดี ๆ แบ่งปันกันน่ะครับ แฮ่ :P /////////////////// พอจะหาวิธีแก้ได้แล้วนะครับ ขอบคุณทุกท่านครับ :wanwan017: หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: afterdead ที่ 16 กุมภาพันธ์ 2013, 22:09:56 ยังไม่เข้าใจโจทย์ !!!!
หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:26:15 อ่า :P เป็นการเลือกสมาชิกตัวเลขออกจาก ชุดตัวเลขให้ได้มากที่สุดโดยเรียงจากน้อยไปมากน่ะครับ
หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: tdelphi ที่ 16 กุมภาพันธ์ 2013, 22:27:18 Sort ก่อนแล้วดึงไม่ได้เหรอ
หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:33:44 Sort ก่อนแล้วดึงไม่ได้เหรอ อ่า คือจะแก้ปัญหาจากชุด input ที่รับเข้ามาเลยอะครับว่าจะได้จำนวนเท่าใดน่ะครับ หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: nuttdam ที่ 16 กุมภาพันธ์ 2013, 22:35:00 สมมติมี 1 5 2 6 3 7 4
ก็ดึง 1 มาแล้วไล่ 5 2 6 3 7 4 ได้ 2 อีกตัว เป็น 1 2 แล้วไล่ 6 3 7 4 ต่อ ก็ได้ 3 ดึงออกมา เป็น 1 2 3 แล้วไล่ 7 4 ต่อ ดึง 4 ออกมา ก็ได้ 1 2 3 4 แล้วเช็คเลขที่เหลือว่าเรียงหรือเปล่า? ก็ได้เป็น 5 6 7 ผมเข้าใจโจทย์หรือเปล่าครับ? หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: afterdead ที่ 16 กุมภาพันธ์ 2013, 22:36:54 รับค่าเป็น string นับจำนวน ตัวอักษร แล้วเทียบ เอา
หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: greenhead ที่ 16 กุมภาพันธ์ 2013, 22:39:25 น้อยไปมากที่ว่า .. เพิ่มที่ละ 1 หรือเปล่าครับ เช่น 1 2 3 4
งั้นตัวที่ไม่เพิ่มทีละ 1 ก็ไม่ต้องนับ กระโดดข้ามเอา :wanwan004: หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: NightClub ที่ 16 กุมภาพันธ์ 2013, 22:39:54 ใช้การวนทีละลูป
ถ้าเรียง 1 5 2 6 3 7 4 เริ่ม จาก 1 แทน x ค่าต่อไป = x+1 ใช้ array ให้เจอ 2 พอ เจอ 2 แล้ว ให้ตัด อะเรย์ ที่ผ่านมาทิ้ง แล้ว วนใหม่ ซึ่ง การวนครั้งต่อไป จะเหลือ 6 3 7 4 แล้วก็เข้าสูตร x+1 อีก ถ้าเริ่มที่ 1 เราจะได้ 4 คะแนน แล้วก็มาเริ่มที่ ลูปตัว ต่อไป คือ 5 พอวนแล้ว เราก็จะได้ 3 คะแนน ทีนี้ เราก็มาเช็คว่า การวนเริม่จากตัวไหนคะแนนสูงสุด สมมุติ 1 8 9 3 6 4 2 จะได้ 1 มี 2 คะแนน 8 มี 1 คะแนน 9 ไม่มี 0 คะแนน 3 มี 1 คะแนน 6 ไม่มีคะแนน 4 ไม่มีคะแนน 2 ไม่มีคะแนน คำตอบจะได้ 1 ซึ่งมี 2 คะแนน หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:40:17 สมมติมี 1 5 2 6 3 7 4 ก็ดึง 1 มาแล้วไล่ 5 2 6 3 7 4 ได้ 2 อีกตัว เป็น 1 2 แล้วไล่ 6 3 7 4 ต่อ ก็ได้ 3 ดึงออกมา เป็น 1 2 3 แล้วไล่ 7 4 ต่อ ดึง 4 ออกมา ก็ได้ 1 2 3 4 แล้วเช็คเลขที่เหลือว่าเรียงหรือเปล่า? ก็ได้เป็น 5 6 7 ผมเข้าใจโจทย์หรือเปล่าครับ? ครับ ประมาณนี้ครับ คำตอบในทีนี้ก็คือ 4 จำนวนได้แก่ 1 2 3 4 ที่ดึงมากจาก สมาชิก 1 5 2 6 3 7 4 น่ะครับ ซึ่งเป็นจำนวนสมาชิกที่มากที่สุดที่จะดึงออกมาจากโจทย์ชุดนี้ได้น่ะครับ หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: pkr4life ที่ 16 กุมภาพันธ์ 2013, 22:40:58 จากตัวอย่าง 1 5 2 6 3 7 4 เขียน loopสร้าง 7 กรณี
กรณี 1 เริ่มด้วย 1: คำตอบ 1 2 3 4 กรณี 2 เริ่มด้วย 5: คำตอบ 5 6 7 กรณี 3 เริ่มด้วย 2: คำตอบ 2 3 4 ... กรณี 7 เริ่มด้วย 4: คำตอบ 4 สุดท้าย สรุปคำตอบ กรณี 1 ได้สมาชิกเยอะสุด 4 ตัว แบบนี้พอได้ป่าวคับ :wanwan011: หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:47:18 จากตัวอย่าง 1 5 2 6 3 7 4 เขียน loopสร้าง 7 กรณี อ่าขออภัยที่เขียนปัญหาไม่ครอบคลุมนะครับ คือจริง ๆ ชุดตัวเลขจะเป็นเลขใด ๆ n จำนวนน่ะครับ :-Xกรณี 1 เริ่มด้วย 1: คำตอบ 1 2 3 4 กรณี 2 เริ่มด้วย 5: คำตอบ 5 6 7 กรณี 3 เริ่มด้วย 2: คำตอบ 2 3 4 ... กรณี 7 เริ่มด้วย 4: คำตอบ 4 สุดท้าย สรุปคำตอบ กรณี 1 ได้สมาชิกเยอะสุด 4 ตัว แบบนี้พอได้ป่าวคับ :wanwan011: หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:48:47 ใช้การวนทีละลูป ถ้าเรียง 1 5 2 6 3 7 4 เริ่ม จาก 1 แทน x ค่าต่อไป = x+1 ใช้ array ให้เจอ 2 พอ เจอ 2 แล้ว ให้ตัด อะเรย์ ที่ผ่านมาทิ้ง แล้ว วนใหม่ ซึ่ง การวนครั้งต่อไป จะเหลือ 6 3 7 4 แล้วก็เข้าสูตร x+1 อีก ถ้าเริ่มที่ 1 เราจะได้ 4 คะแนน แล้วก็มาเริ่มที่ ลูปตัว ต่อไป คือ 5 พอวนแล้ว เราก็จะได้ 3 คะแนน ทีนี้ เราก็มาเช็คว่า การวนเริม่จากตัวไหนคะแนนสูงสุด สมมุติ 1 8 9 3 6 4 2 จะได้ 1 มี 2 คะแนน 8 มี 1 คะแนน 9 ไม่มี 0 คะแนน 3 มี 1 คะแนน 6 ไม่มีคะแนน 4 ไม่มีคะแนน 2 ไม่มีคะแนน คำตอบจะได้ 1 ซึ่งมี 2 คะแนน :wanwan017: หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: nuttdam ที่ 16 กุมภาพันธ์ 2013, 22:49:54 สมมติมี 1 5 2 6 3 7 4 ก็ดึง 1 มาแล้วไล่ 5 2 6 3 7 4 ได้ 2 อีกตัว เป็น 1 2 แล้วไล่ 6 3 7 4 ต่อ ก็ได้ 3 ดึงออกมา เป็น 1 2 3 แล้วไล่ 7 4 ต่อ ดึง 4 ออกมา ก็ได้ 1 2 3 4 แล้วเช็คเลขที่เหลือว่าเรียงหรือเปล่า? ก็ได้เป็น 5 6 7 ผมเข้าใจโจทย์หรือเปล่าครับ? ครับ ประมาณนี้ครับ คำตอบในทีนี้ก็คือ 4 จำนวนได้แก่ 1 2 3 4 ที่ดึงมากจาก สมาชิก 1 5 2 6 3 7 4 น่ะครับ ซึ่งเป็นจำนวนสมาชิกที่มากที่สุดที่จะดึงออกมาจากโจทย์ชุดนี้ได้น่ะครับ หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: oDarkIceo ที่ 16 กุมภาพันธ์ 2013, 22:53:03 เน้นวน loop ตามที่ท่านๆ ข้างบนบอก
ไม่ยากหรอกครับ หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 16 กุมภาพันธ์ 2013, 22:59:21 สมมติมี 1 5 2 6 3 7 4 ก็ดึง 1 มาแล้วไล่ 5 2 6 3 7 4 ได้ 2 อีกตัว เป็น 1 2 แล้วไล่ 6 3 7 4 ต่อ ก็ได้ 3 ดึงออกมา เป็น 1 2 3 แล้วไล่ 7 4 ต่อ ดึง 4 ออกมา ก็ได้ 1 2 3 4 แล้วเช็คเลขที่เหลือว่าเรียงหรือเปล่า? ก็ได้เป็น 5 6 7 ผมเข้าใจโจทย์หรือเปล่าครับ? ครับ ประมาณนี้ครับ คำตอบในทีนี้ก็คือ 4 จำนวนได้แก่ 1 2 3 4 ที่ดึงมากจาก สมาชิก 1 5 2 6 3 7 4 น่ะครับ ซึ่งเป็นจำนวนสมาชิกที่มากที่สุดที่จะดึงออกมาจากโจทย์ชุดนี้ได้น่ะครับ อ่อ ขอบคุณน่ะครับ เดี๋ยวลองไปเขียนดูอีกทีครับ หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: NightClub ที่ 16 กุมภาพันธ์ 2013, 23:26:03 ว่างจัด
โค๊ด: <? หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: Maxio ที่ 16 กุมภาพันธ์ 2013, 23:48:19 ข้างบน php กระชับดีครับ ผมไม่ค่อยเก่ง php ได้ศึกษาโค๊ดด้วย ขอบคุณครับ
เมื่อกี้ลองเทสละ ตัว maxpoint ลืมนับตัวเองหรือเปล่าครับ เช่น 4 5 6 นับได้ 2 อันนี้ จาวาครับ โค๊ดแบบกากๆครับ แบบลูกทุ่งๆ ยาวไปนิด โค๊ด: package test; หัวข้อ: Re: [ปัญหาเชิงโปรแกรมมิ่ง] ใครว่าง ๆ ลองมาขบคิดเล่น ๆ กันครับ เริ่มหัวข้อโดย: idscene ที่ 19 กุมภาพันธ์ 2013, 11:33:10 ขอบคุณทั้งสองท่าน Maxio, NightClub ข้างบนนะครับ
พอดีผมพอจะหาวิธีแก้ได้แล้วน่ะครับ แฮ่ ยังไงขอบคุณทุกท่านที่เข้ามาแชร์ไอเดียแชร์ความคิดนะครับ ขอบคุณครับ :wanwan017: |