จำนวนเฉพาะตั้งแต่ 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 ในอียิปต์ เขาเป็นที่รู้จักกันดีในการคำนวณเส้นรอบวงของโลกและเส้นผ่านศูนย์กลางของมัน

โครงสร้างข้อมูลและอัลกอริทึมคืออะไร?

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