BLOG BOARD_B
ติดต่อรายละเอียดเพิ่มเติมได้ที่ Email: sale@soccersuck.com
ไว้คราวหน้า X
ไว้คราวหน้า X
ไม่ต้องแสดงข้อความนี้อีกเลย
ไปหน้าที่ 1
ไปที่หน้า
GO
ตั้งกระทู้ใหม่
ฝากรูป
ผู้ตั้ง
ข้อความ
ออฟไลน์
ผู้เยี่ยมชม
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 2565
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 00:10
ถูกแบนแล้ว
ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง
⊿⁴⁶ねる พิมพ์ว่า:

จำนวนเฉพาะคืออะไร คือจำนวนที่มีถูกหารลงตัวได้สองจำนวนเท่านั้น นั่นคือ 1 และตัวมันเอง ถ้าเรารู้ตรงนี้แล้ว เราเอาไปประยุกต์ยังไง

วิธีให้ได้คำตอบมีหลายวิธี ต้องค่อยๆ ศึกษาไปครับ อย่าไปรีบ

https://en.m.wikipedia.org/wiki/Sieve_of_Eratosthenes
 


จากที่ ผมได้มาตั้งกระทู้ถามความเห็นเกี่ยวกับเรื่องการเขียนโปรแกรมว่า ควรจะ เขียนให้ได้ด้วยตนเองหลังจากดูตัวอย่าง ที่ค่อนข้างยากหรือไม่

ตัวอย่างเรื่องจำนวนเฉพาะนั้นใช้วิธีการแบบที่อยู่ในลิงค์ ที่โค้ดมาด้านบน ซึ่งเป็นการ ค่อยๆตัด ตัวเลขที่ไม่ใช่จำนวนเฉพาะออก ซึ่ง Code ตัวอย่างค่อนข้าง งงพอสมควร ผมก็อ่านจนเข้าใจที่นี้พอจะมาเขียนเองบ้างก็รู้สึกงง ก็เลย ลองเขียนด้วยตัวเองดู ไปๆมาๆ ก็คล้ายๆกับวิธีตัวอย่าง เลยลองคิดวิธีใหม่ดูครับ แทนที่จะมา ตัด ตัวเลขออกไปทีละตัว แล้วเพิ่มตัวหารไปเรื่อยๆแบบตัวอย่าง ทำไมเราไม่ใช้วิธี ค่อยๆเติมเข้าไปตัวไหนไม่ใช่จำนวนเฉพาะก็ไม่เติม สรุปได้โค้ด ที่สั้นและเข้าใจง่ายกว่าตัวอย่างมากเลยครับ

from numpy import array
upper =100
primes=[2]
primestemp=array([2])
for i in range(3,upper+1):
if not(any(i%primestemp==0)):
primes.append(i)
primestemp=array(primes)
print('primes=',primes)

จากประสบการณ์ที่ผมได้เรียนรู้ครั้งนี้ ทำให้ทราบว่า แม้เราจะเขียนตามตัวอย่างไม่ได้ก็ตาม แต่การที่เราได้ฝึกหัด ฝึกเขียนมันทำให้เราคุ้นเคยกับ syntax และ ฟังก์ชั่นต่างๆ ที่จะช่วยให้เราใช้งานได้ง่ายขึ้นในการเขียนครั้งต่อๆไปครับ

แต่ข้อเสียของวิธีนี้ ผมคิดว่าค่อนข้างเสียเวลาเหมือนกัน ท่าสำหรับนักศึกษาที่ต้องเร่งอ่านสอบผมว่าคง ใช้วิธีนี้ไม่ได้แน่ๆ

ตอนนี้มีโค้ดบางอันที่ผมมีปัญหาขนาดอ่านตัวอย่างแล้วก็ยังไม่เข้าใจเลยครับ (เป็น recursive generator)

ขอบคุณทุกท่านที่ให้การชี้แนะครับ

ปล. ผมทำวิทยานิพนธ์ ที่ใช้ภาษาฟอร์แทรน ซึ่ง ไม่ใช่ สาขาวิชาทางด้านวิทยาการคอมพิวเตอร์นะครับ(ไม่ใช่วิศวะ สถิติ คณิตศาสตร์ด้วย) เป็นสาขาอื่นแต่ใช้ฟอร์แทรนในการทำวิทยานิพนธ์ จบมาแล้วรู้สึก ไม่ได้เขียนโค้ด เก่งเท่าไหร่เลยเพราะเอาโค้ดต้นแบบมาดัดแปลงนิดๆหน่อยๆ ตอนนี้เลยต้องมาศึกษา python เพราะในอนาคตสาขาที่ผมจบมา มีโอกาส ตกงานสูงมาก เลยคิดว่าถ้าเรา รู้ python และเราก็มีความรู้ในศาสตร์สาขาของเราด้วย น่าจะทำให้เรามีคุณค่าในตลาดแรงงานมากขึ้น
แก้ไขล่าสุดโดย armeros เมื่อ Thu Nov 01, 2018 00:13, ทั้งหมด 1 ครั้ง
4
0
หากโดน 40 เรื้อน จะถูกแบน
โหวตเป็นกระทู้แนะนำ
ออฟไลน์
นักบอลถ้วย ค.
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 05 Sep 2013
ตอบ: 8990
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 00:51
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
เรื่อง recursive ข้ามๆ ไปก่อนก็ได้ครับ มันจะยากสำหรับผู้เริ่มต้น
แถมในชีวิตจริง นานๆจะใช้ซักที
เมื่อท่านเขียนไปจนคล่องแล้ว จะรู้ว่าสิ่งที่ยากไม่ใช่ตัวภาษาเลย แต่เป็นพวกคือ
ทำยังไงให้ code clean, performance ดี ปัญหาพวก technical debt บลาๆ
2
0
หากโดน 40 เรื้อน จะถูกแบน
Signature
ออฟไลน์
แขวนสตั๊ด
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 11 Jul 2010
ตอบ: 40454
ที่อยู่: DD จงเจริ้ญ!!!
โพสเมื่อ: Thu Nov 01, 2018 00:56
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
ยูส ⊿⁴⁶ねる ชอบหาเรื่องมาให้ปวดหัว
0
0
หากโดน 40 เรื้อน จะถูกแบน

ออฟไลน์
ผู้เยี่ยมชม
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 2565
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 01:08
ถูกแบนแล้ว
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
vankungnn พิมพ์ว่า:
เรื่อง recursive ข้ามๆ ไปก่อนก็ได้ครับ มันจะยากสำหรับผู้เริ่มต้น
แถมในชีวิตจริง นานๆจะใช้ซักที
เมื่อท่านเขียนไปจนคล่องแล้ว จะรู้ว่าสิ่งที่ยากไม่ใช่ตัวภาษาเลย แต่เป็นพวกคือ
ทำยังไงให้ code clean, performance ดี ปัญหาพวก technical debt บลาๆ
 


เพอร์ฟอร์แมนซ์ดี อันนี้ ใน python ยากเลยครับ เพราะต้อง เขียนให้อยู่ในรูปเวกเตอร์ซึ่ง บางทีจะมาจัดให้อยู่ในรูปเวกเตอร์ มันงงมาก

เขียนให้ Clean ก็ต้องเขียนแบบ oop ซึ่งก็ต้องมานั่งคิด ดีๆอีก
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออนไลน์
นักบอลถ้วย ข.
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 22 Jan 2015
ตอบ: 4583
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 01:15
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง


** ถ้ามีเวลาว่างลองศึกษา ภาษาไพรตอน หรือ R ดูนะครับ ตลาดแรงงานตอนนี้ขาดมาก
เงินเดือนรับประกัน 25k+ งานทางด้าน เดต้าไซน์ บิ๊กเดต้า
แก้ไขล่าสุดโดย BaseOnTellis เมื่อ Thu Nov 01, 2018 01:16, ทั้งหมด 1 ครั้ง
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
ผู้เยี่ยมชม
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 2565
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 01:17
ถูกแบนแล้ว
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
BaseOnTellis พิมพ์ว่า:
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง
 


ได้ครับ จะ 10,000 ก็ได้ แต่ผลก็จะออกมาช้าลงหน่อยลองเทียบคำตอบกลับในเน็ตแล้วเขียนออกมาเฉพาะจำนวนเฉพาะจริงๆครับ

ขอบคุณเพิ่มเติมสำหรับเรื่องการเขียน comment นะครับ สำคัญมากๆจริงๆ

โค้ดที่ผมเขียนในกระทู้ก็คือ python นี่แหละครับ ส่วนตัวผมใช้ Fortran และ matlab แต่ matlab มันไม่ฟรี เลยต้องมาศึกษา python กะจะฝึกเขียนให้ชำนาญเลยครับ เพราะตอนเรียนก็ทำแค่แก้โค้ดคนอื่นเขาเอา รู้สึกละอายใจว่าจบมาได้ยังไงแม้จะไม่ใช่สายวิทยาการคอมพิวเตอร์ หรือสายที่ใกล้เคียงกันเลยก็เถอะ ( ในสายงานผมมีคนทำ programming น้อยมากๆไม่ถึง 5 เปอร์เซ็นต์ อย่างมากก็คง 10% ในขณะที่ ต่างประเทศ สายผมคนทำ programming ทำกันเกิน 50% )

ส่วนเรื่องตลาดแรงงานขาดผมว่า นักคณิตศาสตร์ประกันภัยได้เงินดีกว่าเยอะครับถ้าดูจากแค่ 25 k+ นะ
แก้ไขล่าสุดโดย armeros เมื่อ Thu Nov 01, 2018 01:36, ทั้งหมด 2 ครั้ง
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
คอมเมนเตเตอร์
Status: LFC and Relax moment
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Jul 2014
ตอบ: 23648
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 01:42
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
armeros พิมพ์ว่า:
vankungnn พิมพ์ว่า:
เรื่อง recursive ข้ามๆ ไปก่อนก็ได้ครับ มันจะยากสำหรับผู้เริ่มต้น
แถมในชีวิตจริง นานๆจะใช้ซักที
เมื่อท่านเขียนไปจนคล่องแล้ว จะรู้ว่าสิ่งที่ยากไม่ใช่ตัวภาษาเลย แต่เป็นพวกคือ
ทำยังไงให้ code clean, performance ดี ปัญหาพวก technical debt บลาๆ
 


เพอร์ฟอร์แมนซ์ดี อันนี้ ใน python ยากเลยครับ เพราะต้อง เขียนให้อยู่ในรูปเวกเตอร์ซึ่ง บางทีจะมาจัดให้อยู่ในรูปเวกเตอร์ มันงงมาก

เขียนให้ Clean ก็ต้องเขียนแบบ oop ซึ่งก็ต้องมานั่งคิด ดีๆอีก  

Oop แค่จัดสันปันส่วนนะครับ

รวบเป็น Class กับ กับเซทพวก Over บลาๆ พวกนี้จะทำให้คลีนกว่าเยอะเลย
0
0
หากโดน 40 เรื้อน จะถูกแบน
ฝากเพจด้วยครับ : https://www.facebook.com/mrroscn
ชาตินึงอัพทีนึง 55555
ช่อง : Chill by Ros
ออฟไลน์
คอมเมนเตเตอร์
Status: LFC and Relax moment
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Jul 2014
ตอบ: 23648
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 01:44
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
armeros พิมพ์ว่า:
BaseOnTellis พิมพ์ว่า:
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง
 


ได้ครับ จะ 10,000 ก็ได้ แต่ผลก็จะออกมาช้าลงหน่อยลองเทียบคำตอบกลับในเน็ตแล้วเขียนออกมาเฉพาะจำนวนเฉพาะจริงๆครับ

ขอบคุณเพิ่มเติมสำหรับเรื่องการเขียน comment นะครับ สำคัญมากๆจริงๆ

โค้ดที่ผมเขียนในกระทู้ก็คือ python นี่แหละครับ ส่วนตัวผมใช้ Fortran และ matlab แต่ matlab มันไม่ฟรี เลยต้องมาศึกษา python กะจะฝึกเขียนให้ชำนาญเลยครับ เพราะตอนเรียนก็ทำแค่แก้โค้ดคนอื่นเขาเอา รู้สึกละอายใจว่าจบมาได้ยังไงแม้จะไม่ใช่สายวิทยาการคอมพิวเตอร์ หรือสายที่ใกล้เคียงกันเลยก็เถอะ ( ในสายงานผมมีคนทำ programming น้อยมากๆไม่ถึง 5 เปอร์เซ็นต์ อย่างมากก็คง 10% ในขณะที่ ต่างประเทศ สายผมคนทำ programming ทำกันเกิน 50% )

ส่วนเรื่องตลาดแรงงานขาดผมว่า นักคณิตศาสตร์ประกันภัยได้เงินดีกว่าเยอะครับถ้าดูจากแค่ 25 k+ นะ  

ที่ขาดอ่ะ ขาดพวกที่มีใบผ่านการสอบไล่ระดับครับ เพราะมันยาก และ อังกฤษล้วนเลย

อาจารย์ผมเกษียรยังมีบริษัทจ้างแกเป็นแสนแค่เซ็นลายเซ็นเองเพราะแกมีใบเซอนี่ละ
0
0
หากโดน 40 เรื้อน จะถูกแบน
ฝากเพจด้วยครับ : https://www.facebook.com/mrroscn
ชาตินึงอัพทีนึง 55555
ช่อง : Chill by Ros
ออฟไลน์
คอมเมนเตเตอร์
Status: LFC and Relax moment
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Jul 2014
ตอบ: 23648
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 02:03
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
ถ้าเป็นผมจะเขียรยังไงดีนะ 555

สมมติว่าหาในจำนวนที่เรา input ว่ามีตัวไรบ้างละกัน ผมว่าแชร์ๆกัน จะได้แนวคิด

x=int(input(“Number : “))
ls=[]
n=0
For i in range(1,x+1) :
c = 0
For j in range(1, i+1) :
If i%j == 0 :
c=c+1
Else :
continue
if c == 2 :
ls.append(i)
else :
continue
Print(ls)

ไม่แน่ใจเท่าไหร่นะครับ ช่วงนี้ใช้แต่ VBA อีกอย่าฃ อยากจะบอกว่า ไพธ่อนใช้งานในการทำงานจริง ยากมากๆเลยนะครับ ถ้าจะมาทางนี้แนะนำ SQL อีกตัวครับ ได้แต่ไพธ่อนแต่ไม่ได้ SQL นี่งานหยาบเลยนา
0
0
หากโดน 40 เรื้อน จะถูกแบน
ฝากเพจด้วยครับ : https://www.facebook.com/mrroscn
ชาตินึงอัพทีนึง 55555
ช่อง : Chill by Ros
ออฟไลน์
แข้งบุนเดสลีกา
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 17 Feb 2015
ตอบ: 8074
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 07:03
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
เหมือนผมจะเคยเขียนของผมใน Lazarus เหมือนกัน
แต่ code ผมเขียนเป็น function ประมาณว่า
หาว่ามีจำนวนเฉพาะอะไรบ้าง ระหว่าง a ถึง b

Function PrimeNumGen(a,b)

Algorithm ผมประมาณว่า
For i=a to b
ถ้า i<=7 {ให้เช็คว่า i อยู่ในเซต [2,3,5,7] มั้ย ถ้าใช่ = เป็น}
Else{i หารด้วย 2,3,5,7 ไม่ลงตัว = เป็น}
ผมจำได้คร่าวๆประมาณนี้

0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
ผู้เยี่ยมชม
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 2565
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 09:01
ถูกแบนแล้ว
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
MachineRedz พิมพ์ว่า:
armeros พิมพ์ว่า:
BaseOnTellis พิมพ์ว่า:
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง
 


ได้ครับ จะ 10,000 ก็ได้ แต่ผลก็จะออกมาช้าลงหน่อยลองเทียบคำตอบกลับในเน็ตแล้วเขียนออกมาเฉพาะจำนวนเฉพาะจริงๆครับ

ขอบคุณเพิ่มเติมสำหรับเรื่องการเขียน comment นะครับ สำคัญมากๆจริงๆ

โค้ดที่ผมเขียนในกระทู้ก็คือ python นี่แหละครับ ส่วนตัวผมใช้ Fortran และ matlab แต่ matlab มันไม่ฟรี เลยต้องมาศึกษา python กะจะฝึกเขียนให้ชำนาญเลยครับ เพราะตอนเรียนก็ทำแค่แก้โค้ดคนอื่นเขาเอา รู้สึกละอายใจว่าจบมาได้ยังไงแม้จะไม่ใช่สายวิทยาการคอมพิวเตอร์ หรือสายที่ใกล้เคียงกันเลยก็เถอะ ( ในสายงานผมมีคนทำ programming น้อยมากๆไม่ถึง 5 เปอร์เซ็นต์ อย่างมากก็คง 10% ในขณะที่ ต่างประเทศ สายผมคนทำ programming ทำกันเกิน 50% )

ส่วนเรื่องตลาดแรงงานขาดผมว่า นักคณิตศาสตร์ประกันภัยได้เงินดีกว่าเยอะครับถ้าดูจากแค่ 25 k+ นะ  

ที่ขาดอ่ะ ขาดพวกที่มีใบผ่านการสอบไล่ระดับครับ เพราะมันยาก และ อังกฤษล้วนเลย

อาจารย์ผมเกษียรยังมีบริษัทจ้างแกเป็นแสนแค่เซ็นลายเซ็นเองเพราะแกมีใบเซอนี่ละ  


อันนี้ พูดถึงนักคณิตประกันภัย หรือ งานด้านไพธ่อนอะครับ? เห็นพูดถึงใบเซอ

ส่วน SQL เอาไว้ใช้ทำอะไรเหรอครับ สายงานผมเคยเห็นใช้แต่ Python, Julia, Fortran, C, C+, R, และก็ MATLAB เพิ่งได้ยิน SQL นี่แหละครับ
0
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
ซุปตาร์ยูโร
Status: Object Reference not Set ....
: 0 ใบ : 0 ใบ
เข้าร่วม: 05 Dec 2016
ตอบ: 6192
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 09:04
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
BaseOnTellis พิมพ์ว่า:
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง


** ถ้ามีเวลาว่างลองศึกษา ภาษาไพรตอน หรือ R ดูนะครับ ตลาดแรงงานตอนนี้ขาดมาก
เงินเดือนรับประกัน 25k+ งานทางด้าน เดต้าไซน์ บิ๊กเดต้า
 


เรื่อง comment ให้ได้มากที่สุดนี่ไม่เห้นด้วยนะครับ
code คนเดียวอาจจะพอไปวัดไปวาได้
แต่ถ้า code หลาย ๆ คนใน project ที่มีการร่วมแจมกันมากกว่าหนึ่ง
หรือแม้แต่คนที่มารับงานต่อจากเรา

บ่อยครั้งที่ comment คือนรก สำหรับคนที่มาไล่ logic หรือ business logic ต่อจาก code เราเลยครับ

ทางออกที่ดีอย่างนึงที่ผมแนะนำคือ
เขียน code ให้อ่านง่ายที่สุด อ่านแล้วไม่ต้องแปล
พยายามตั้งชื่อตัวแปร, ชื่อ function หรือ method ให้ชัดเจนที่สุด
ไม่ต้องมานั่งเดาว่า ไอ้ตัวแปรนี้ function นี้ ตกลงมันมีไว้ทำแมวอะไรวะ


เคยเห็นการอ่าน code เหมือนการอ่าน wording หรือข้อความเป็นภาษาอังกฤษมั้ยครับ
เอาให้ได้แบบนั้นเลย

ผมเคยไปเช้งเม้ง ระหว่างรอธูปหมดเลยทะลึ่งคิด code ขำ ๆ ขึ้นมาได้ว่า
(พิมพ์สดน่ะ ครับความจำอาจจะพลาด ๆ ไปบ้างแต่ concept ครบถ้วน)



if(Human.all().isImmortal){
Chinish.Festival.CHENGMENG = null;
}


ลองอ่านดูแบบขำ ๆ ดูครับ

1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
ผู้เยี่ยมชม
Status:
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2017
ตอบ: 2565
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 09:05
ถูกแบนแล้ว
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
PattyZ พิมพ์ว่า:
เหมือนผมจะเคยเขียนของผมใน Lazarus เหมือนกัน
แต่ code ผมเขียนเป็น function ประมาณว่า
หาว่ามีจำนวนเฉพาะอะไรบ้าง ระหว่าง a ถึง b

Function PrimeNumGen(a,b)

Algorithm ผมประมาณว่า
For i=a to b
ถ้า i<=7 {ให้เช็คว่า i อยู่ในเซต [2,3,5,7] มั้ย ถ้าใช่ = เป็น}
Else{i หารด้วย 2,3,5,7 ไม่ลงตัว = เป็น}
ผมจำได้คร่าวๆประมาณนี้

 


คล้ายๆกันครับ ตัวอย่างที่ผมอ่านมันใช้อีกวิธี งงกว่าเยอะเลย คือ สร้างลิสต์ 1,2,3,4,5,6,7,8,9,10,11,...ขึ้นมาก่อนแล้วค่อยๆเพิ่มตัวหาร ไล่จาก 2 ไป 3 อะไรที่โดนหารลงตัวก็ตัดออก อ่านแล้ว เมา
1
0
หากโดน 40 เรื้อน จะถูกแบน
ออฟไลน์
คอมเมนเตเตอร์
Status: LFC and Relax moment
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Jul 2014
ตอบ: 23648
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 09:19
[RE: ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง]
armeros พิมพ์ว่า:
MachineRedz พิมพ์ว่า:
armeros พิมพ์ว่า:
BaseOnTellis พิมพ์ว่า:
สิ่งที่ห้ามลืมในการโค้ดดิ้งคือการคอมเม้นนะครับ อย่าลืมคอมเม้นให้ได้มากที่สุด

อย่างน้อยเป็นการรีเช็คตรวจสอบว่าบรรทัดนั้นมีความหมายว่าอย่างไร

บางครั้งคำสั่งที่เราเขียนมาอาจไม้ได้บั๊ค (รันผ่าน) เฉพาะบางกรณีเท่านั้น หมายความว่า

หากมีการเปลี่ยนตัวแปรปั๊บ คำตอบที่ได้อาจผิดก็ได้นะครับ อย่างเช่นถ้าผมบอกให้ จขกท.

ปรัปคำสั้งให้หาจำนวนเฉพาะ 1 - 1000 อย่างงี้ คำสั่งเดิม จขกท จะยังคงใช้งานได้ไหม

*** ผมพยายามบอกว่า ส่วนสำคัญที่สุดในการเขียนโค้ด คือการทำให้คำสั่งเราเจเนรอล (general) มากที่สุด คือประยุกต์ใช้สำหรับทุกๆ เหตุการณ์ได้ โดยไม่ต้องเปลี่ยนคำสั่ง

ผมพยายามบอก นศ. ผมเสมอ ผมสอนโปรแกรมมิ่ง เด็กปี1 ในภาควิชาที่เด็กส่วนใหญ่ไม่ค่อยมีความรู้ทางโปรแกรมมิ่งเท่าไหร่ และมักจะผิดบ่อยครั้ง
 


ได้ครับ จะ 10,000 ก็ได้ แต่ผลก็จะออกมาช้าลงหน่อยลองเทียบคำตอบกลับในเน็ตแล้วเขียนออกมาเฉพาะจำนวนเฉพาะจริงๆครับ

ขอบคุณเพิ่มเติมสำหรับเรื่องการเขียน comment นะครับ สำคัญมากๆจริงๆ

โค้ดที่ผมเขียนในกระทู้ก็คือ python นี่แหละครับ ส่วนตัวผมใช้ Fortran และ matlab แต่ matlab มันไม่ฟรี เลยต้องมาศึกษา python กะจะฝึกเขียนให้ชำนาญเลยครับ เพราะตอนเรียนก็ทำแค่แก้โค้ดคนอื่นเขาเอา รู้สึกละอายใจว่าจบมาได้ยังไงแม้จะไม่ใช่สายวิทยาการคอมพิวเตอร์ หรือสายที่ใกล้เคียงกันเลยก็เถอะ ( ในสายงานผมมีคนทำ programming น้อยมากๆไม่ถึง 5 เปอร์เซ็นต์ อย่างมากก็คง 10% ในขณะที่ ต่างประเทศ สายผมคนทำ programming ทำกันเกิน 50% )

ส่วนเรื่องตลาดแรงงานขาดผมว่า นักคณิตศาสตร์ประกันภัยได้เงินดีกว่าเยอะครับถ้าดูจากแค่ 25 k+ นะ  

ที่ขาดอ่ะ ขาดพวกที่มีใบผ่านการสอบไล่ระดับครับ เพราะมันยาก และ อังกฤษล้วนเลย

อาจารย์ผมเกษียรยังมีบริษัทจ้างแกเป็นแสนแค่เซ็นลายเซ็นเองเพราะแกมีใบเซอนี่ละ  


อันนี้ พูดถึงนักคณิตประกันภัย หรือ งานด้านไพธ่อนอะครับ? เห็นพูดถึงใบเซอ

ส่วน SQL เอาไว้ใช้ทำอะไรเหรอครับ สายงานผมเคยเห็นใช้แต่ Python, Julia, Fortran, C, C+, R, และก็ MATLAB เพิ่งได้ยิน SQL นี่แหละครับ  

พูดถึงคณิต ครับ

คือพอเวลาเรามาทำงานจริงๆอ่ะครับ เราต้องดึงข้อมูลจากฐานข้อมูล ซึ่ง SQL เป็นภาษาที่ใช้ Query ข้อมูลมาก่อนที่เราจะนำมาใช้ เพราะทำงานจริง มันจะไม่มีใครทำข้อมูลดิบให้เรานะครับ เราต้องไปดึงจากฐานเอง ส่วนไพฑ่อน จุดเด่นที่ไพธ่อนใช้ในด้านข้อมูลเพราะ ลูกเล่นลิสของไพธ่อนผมว่าใช้ง่าย การทำแบบสเกลาร์ก็เช่นกัน ที่สำคัญ ฟรี และ ไลบรารี่เยอะ SCI (numpy,scikitlearn,pandas,anaconda) พวกนี้จะเป็นตัวเอกหลักๆ ผมเข้าใจว่าท่านกำลัฃศึกษาอยู่ ค่อยๆเรียนรู้ครับ มันเป็นภาษา Programming ซึ่งเราดีไซน์เองได้ จะเขียนเว็ปก็ทำได้ จะสร้างแอพก็ทำได้ จะเล่นกับฐานข้อมูลเลยก็ทำได้ แม้แต่เขียนเกมส์ยังทำได้เลยครับ มันใช้ได้ค่อนข้างหลากหลายแต่ต้องศึกษาพวก ไลบรารี่เสริมเอา อันนี้แค่แชร์สิ่งที่รู้เฉยๆนะครับ ส่วนเรื่องการ Coding ผมก็ขอเอาใจช่วยด้วย อย่างที่เม้นบนบอกพยายามเขียนให้มันรวบรัดใช้ได้กับทุกกรณี ตอนสมัยผมเรียน เขีบนอ่ะไม่ได้ยากนะ แต่ให้มันครอบคลุมอ่ะยากอยู่ ยิ่งศึกษาเองมันจะไม่ค่อยได้นั่งหา Error บางทีจะมีจุดที่เราคิดไม่ถึง พยายามทำให้สมองของเรารันโค้ดเองจนคล่องอ่ะครับ ช่วยได้เยอะเลย ส่วนตัวผมเรียน Python มา แต่พอมาทำงานใช้ Excel ก็หันมาจับ VBA บอกเลยช่วยได้เยอะมาก ตรรกะต่างๆเหมือนเดิมเลย แค่เปลี่ยน Syntax เท่านั้นเองครับยังไงก็สู้ๆนะครับ ถ้าทำได้ทันจะเป็นสกิลติดตัว ไปเจอภาษาอื่น มันก็คล้ายๆกัน
1
0
หากโดน 40 เรื้อน จะถูกแบน
ฝากเพจด้วยครับ : https://www.facebook.com/mrroscn
ชาตินึงอัพทีนึง 55555
ช่อง : Chill by Ros
ออฟไลน์
นักบอลถ้วย ง.
Status: NOT BAD
: 0 ใบ : 0 ใบ
เข้าร่วม: 12 Aug 2014
ตอบ: 3569
ที่อยู่:
โพสเมื่อ: Thu Nov 01, 2018 13:03
ทำได้แล้วครับ เขียนจำนวนเฉพาะ ด้วยวิธีไม่เหมือนในตัวอย่าง
ฉันมาทำอะไรที่นี่
โพสต์บนแอป Soccersuck บน Android
แก้ไขล่าสุดโดย ก็ดี เมื่อ Thu Nov 01, 2018 13:03, ทั้งหมด 1 ครั้ง
0
0
หากโดน 40 เรื้อน จะถูกแบน
ไปหน้าที่ 1
ไปที่หน้า
GO
ตั้งกระทู้ใหม่
กรุณาระบุเหตุผลที่จะแจ้งความ
ผู้ต้องหา:
ข้อความ:
Submit
Cancel
กรุณาเลือก Forum และ ประเภทกระทู้
Forum:

ประเภท:
Submit
Cancel