จำนวนเฉพาะตั้งแต่ 1 ถึง 100 ใน Java: แสดง 1 ถึง 100 ใน Java
เผยแพร่แล้ว: 2021-02-08สารบัญ
บทนำ
ก่อนอื่น มาเริ่มกันที่คำจำกัดความของจำนวนเฉพาะกันก่อน ตัวเลขจะเป็นจำนวนเฉพาะถ้าหารด้วย 1 ลงตัวและตัวมันเอง หากเราถูกขอให้ระบุจำนวนเฉพาะตั้งแต่ 1 ถึง 100 จะเป็นงานที่น่าเบื่อที่จะตรวจสอบแต่ละตัวเลขบนกระดาษและบอกว่าเป็นจำนวนเฉพาะหรือไม่ ไม่เป็นไร เราสามารถเขียนโค้ดเพื่อทำเช่นนั้นได้ และ java ทำให้สิ่งต่างๆ เป็นเรื่องง่าย
Java เป็นภาษาที่ได้รับความนิยมและเป็นหนึ่งในภาษาที่มีการใช้งานมากที่สุด และเหตุผลที่ทำให้สปอตไลท์ของวันที่มีแดดจ้านั้นมาจากคุณลักษณะต่างๆ เช่น การเขียนโปรแกรมเชิงวัตถุ ความเป็นอิสระของแพลตฟอร์ม ไลบรารีที่กำหนดไว้ล่วงหน้า เป็นต้น
มาสร้างโค้ดสำหรับพิมพ์เลขเฉพาะตั้งแต่ 1 ถึง 100 แล้วมาดูกันเลย เริ่มกันเลย!
โปรแกรมจาวา
ก่อนข้ามไปที่โค้ด เราจะเข้าใจอัลกอริธึมเพื่อตรวจสอบว่าตัวเลขนั้นเป็นจำนวนเฉพาะหรือไม่ ขั้นแรก เราต้องวนซ้ำตัวเลขทั้งหมดตั้งแต่ 1 ถึง N และรักษาจำนวนตัวเลขที่หารจำนวนที่กำหนดได้อย่างเหมาะสม หากนับเป็น 2 เราก็สรุปได้ว่าจำนวนที่กำหนดเป็นจำนวนเฉพาะ ไม่เช่นนั้นจะไม่ใช่จำนวนเฉพาะ นี่คือรหัสที่จะทำ
int n = 5 ; int c = 0 ; สำหรับ ( int i= 1 ;i<=n;i++) ถ้า (n%i== 0 ) ค ++; ถ้า (c== 2 ) System.out.println(n+ ” เป็นจำนวนเฉพาะ” ); อื่น System.out.println(n+ ” ไม่ใช่จำนวนเฉพาะ” ); |
ในตัวอย่างข้างต้น n คือตัวเลขที่ต้องตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่ c คือตัวแปรที่เก็บจำนวนตัวหารที่เหมาะสม และเรากำลังวนรอบช่วง 1 ถึง n และเพิ่มการนับถ้าเราพบตัวหารที่เหมาะสม
และหลังจากออกจากลูป เรากำลังตรวจสอบว่าการนับเป็น 2 คือ; ตัวหารที่เหมาะสมมีเพียงสองตัวเท่านั้น (1 และตัวมันเอง) ถ้าใช่ สรุปเป็นจำนวนเฉพาะ อย่างอื่นไม่ใช่จำนวนเฉพาะ พูดถึงความซับซ้อนของเวลาของโค้ดด้านบน มันเป็นโค้ดเชิงเส้น ดังนั้นจึงเป็นโค้ดความซับซ้อน O(n)

เมื่อเราถูกขอให้พิมพ์จำนวนเฉพาะตั้งแต่ 1 ถึง 100 เราจำเป็นต้องรันอัลกอริธึมเดียวกันนี้สำหรับแต่ละหมายเลขระหว่าง 1 ถึง 100 และเก็บจำนวนเฉพาะ และนี่คือรหัสที่จะทำเช่นนั้น
ArrayList<Integer> a= ใหม่ ArrayList<>(); สำหรับ ( int n= 1 ; n<= 100 ; n++){ int c = 0 ; สำหรับ ( int i = 1 ; i <= n; i++) ถ้า (n % ผม == 0 ) ค ++; ถ้า (c == 2 ) ก.เพิ่ม(n); อื่น ต่อ ; } System.out.println(ก); |
ในโค้ดด้านบนนี้ เราได้ประกาศ ArrayList ที่เก็บจำนวนเฉพาะทั้งหมดในช่วง 1 ถึง 100 ตอนนี้ เรามีสองตัวสำหรับลูปก่อนสำหรับลูปคือสำหรับการวนซ้ำตัวเลขทั้งหมดระหว่าง 1 ถึง 100 และตัวที่สองสำหรับลูป คืออัลกอริธึมจำนวนเฉพาะก่อนหน้าของเรา หลังจากรันอัลกอริธึมจำนวนเฉพาะสำหรับแต่ละหมายเลขแล้ว เรากำลังส่งไปยัง ArrayList หากเป็นจำนวนเฉพาะ

ชำระเงิน: เงินเดือนนักพัฒนา Java ในอินเดีย
และหลังจากวนลูปเสร็จแล้ว เรากำลังพิมพ์ ArrayList ซึ่งแสดงจำนวนเฉพาะทั้งหมดระหว่าง 1 ถึง 100 เมื่อพูดถึงความซับซ้อนของเวลาของโค้ดด้านบน เราจะเห็นว่ามีสองลูป ดังนั้นมันจึงเป็น รหัสความซับซ้อน O(n ²)
เราได้ฮาร์ดโค้ดช่วงในโค้ดด้านบนแล้ว จะเป็นอย่างไรถ้าเราต้องการพิมพ์ตัวเลขเฉพาะในช่วงที่กำหนดโดยอินพุตของผู้ใช้
จำนวนเฉพาะในช่วงอินพุตที่กำหนด
อัลกอริธึมทั้งหมดเกือบจะคล้ายกับโค้ดด้านบน ความแตกต่างเพียงอย่างเดียวที่เราทำคือการป้อนข้อมูลของผู้ใช้สำหรับขีดจำกัดล่างและขีดจำกัดบนของช่วง
มาสร้างโค้ดกันตอนนี้เลย!
สแกนเนอร์ sc=new Scanner(System.in); int ล่าง=sc.nextInt(); int upper=sc.nextInt(); ArrayList<Integer> a=new ArrayList<>(); สำหรับ (int n=lower; n<=upper; n++){ int c = 0; สำหรับ (int i = 1; i <= n; i++) ถ้า (n % i == 0) ค ++; ถ้า (c == 2) ก.เพิ่ม(n); อื่น ดำเนินต่อ; } System.out.println(ก); |
ในโค้ดด้านบนนี้ เรากำลังเริ่มต้นเครื่องสแกนเพื่ออ่านข้อมูลที่ผู้ใช้ป้อน เราได้ประกาศตัวแปรสองตัวล่างและบน และกำหนดตัวแปรเหล่านั้นด้วยการป้อนข้อมูลของผู้ใช้ สิ่งที่เราต้องทำคือพิมพ์จำนวนเฉพาะทั้งหมดระหว่างช่วง [ล่าง, บน] อัลกอริทึมก่อนหน้าของเราทำงานนี้และผนวกตัวเลขเฉพาะทั้งหมดเข้ากับ ArrayList

อ่านเพิ่มเติม: แนวคิดและหัวข้อโปรเจ็กต์ Java
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
เราเข้าใจคำจำกัดความของจำนวนเฉพาะแล้ว เดินผ่านอัลกอริทึมเพื่อค้นหาว่าจำนวนนั้นเป็นจำนวนเฉพาะหรือไม่ ขยายอัลกอริทึมนั้นเพื่อค้นหาจำนวนเฉพาะตั้งแต่ 1 ถึง 100 และต่อมาเราได้ใช้เครื่องสแกนจาวาเพื่ออ่านอินพุตของผู้ใช้ การปรับช่วงของตัวเลขที่ต้องตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่ สร้างอัลกอริทึมสำหรับการพิมพ์ตัวเลขเฉพาะในช่วงที่กำหนดโดยผู้ใช้
เมื่อคุณได้ทราบวิธีการตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่แล้ว วิธีพิมพ์ตัวเลขเฉพาะในช่วงที่กำหนด ลองใช้ความท้าทายเล็กๆ น้อยๆ เช่น ใช้งานโดยใช้ฟังก์ชัน, ใช้งานโดยใช้วัตถุ, สร้างอัลกอริทึมโดยใช้การเรียกซ้ำ, ลองใช้คอลเล็กชันอื่นๆ สองสามตัวใน java, ลองปรับโค้ดให้เหมาะสมเล็กน้อยถ้าเป็นไปได้ เป็นต้น เพราะการฝึกฝนจะช่วยให้คุณเชี่ยวชาญภาษาโปรแกรม ช่วยคุณในการเอาชนะความกำกวมด้วยรูปแบบและการใช้งาน
หากคุณต้องการพัฒนาทักษะ Java ของคุณ คุณต้องลงมือทำโปรเจ็กต์ Java เหล่านี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, การพัฒนาแบบฟูลสแตก, ลองดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง, โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
จำนวนเฉพาะคืออะไร?
ตะแกรงของ Eratosthenes คืออะไร?
ตะแกรงของ Eratosthenes เป็นอัลกอริธึมกรีกโบราณสำหรับการค้นหาจำนวนเฉพาะ อัลกอริธึมขึ้นชื่อในเรื่องความเรียบง่ายและมีประสิทธิภาพ ในแง่ที่ว่ามันค่อนข้างเร็วสำหรับช่วงเวลานั้น แต่ก็ยังให้ผลจำนวนเฉพาะได้เป็นอย่างดี อัลกอริธึมทำงานโดยกำจัดตัวคูณของจำนวนเฉพาะแต่ละตัวออกจากจำนวนรวม เริ่มจากผลคูณของ 2 และลงท้ายด้วยทวีคูณของ N (N คือตัวเลขสุดท้ายที่คุณต้องการหาจำนวนเฉพาะ) Eratosthenes เป็นนักคณิตศาสตร์ชาวกรีกและถือเป็นผู้ก่อตั้งห้องสมุด Alexandria ในอียิปต์ เขาเป็นที่รู้จักกันดีในการคำนวณเส้นรอบวงของโลกและเส้นผ่านศูนย์กลางของมัน
โครงสร้างข้อมูลและอัลกอริทึมคืออะไร?
โครงสร้างข้อมูลเป็นวิธีหนึ่งในการจัดเก็บข้อมูลเพื่อให้โปรแกรมคอมพิวเตอร์สามารถเรียกค้นและแก้ไขได้ โครงสร้างข้อมูลเป็นนามธรรมของภาษาโปรแกรม อาจเป็นเอนทิตีในตัวเองหรือเป็นส่วนหนึ่งของเอนทิตีข้อมูลอื่น อาจเป็นข้อมูลในสิทธิ์ของตนเอง หรืออาจเป็นกลไกในการเข้าถึงและจัดการข้อมูลอื่นๆ โครงสร้างข้อมูลประกอบด้วยการกำหนดข้อมูล ชนิดข้อมูล เนื้อหา และการดำเนินการที่สามารถนำไปใช้กับเนื้อหาได้ อัลกอริทึมเป็นขั้นตอนทีละขั้นตอนในการแก้ปัญหาคอมพิวเตอร์ แต่ละอัลกอริธึมเป็นลำดับของการกระทำที่จะนำไปสู่การแก้ปัญหา