บทความนี้อธิบายถึงการใช้อัลกอริทึมการส่งออกที่สมบูรณ์ของ Java สำหรับช่วงเฉพาะ แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
เนื้อหาคำถาม:
ปัจจัยของจำนวนเต็มบวกคือจำนวนเต็มบวกทั้งหมดที่สามารถแบ่งออกเป็น หากตัวเลขเท่ากับผลรวมของปัจจัยอื่นนอกเหนือจากตัวเองตัวเลขนี้เรียกว่าหมายเลขที่สมบูรณ์
ตัวอย่างเช่น 6 = 1+2+3 (ปัจจัย 6 คือ 1, 2, 3)
ตอนนี้คุณต้องเขียนโปรแกรมเพื่ออ่านในจำนวนเต็มบวกสองตัว N และ M (1 <= n <m <1,000) และส่งออกตัวเลขที่เสร็จสมบูรณ์ทั้งหมดในช่วง [n, m]
เคล็ดลับ: คุณสามารถเขียนฟังก์ชั่นเพื่อตรวจสอบว่าหมายเลขหนึ่งเป็นหมายเลขที่สมบูรณ์หรือไม่
รูปแบบอินพุต:
จำนวนเต็มบวกสองตัวคั่นด้วยช่องว่าง
รูปแบบเอาต์พุต:
ตัวเลขที่เสร็จแล้วทั้งหมดจะถูกคั่นด้วยช่องว่างและไม่มีช่องว่างหลังจากหมายเลขสุดท้าย ถ้าไม่เป็นบรรทัดว่างจะเป็นเอาต์พุต
ป้อนตัวอย่าง:
1 10
ตัวอย่างเอาท์พุท:
6
ตัวอย่างรหัส:
นำเข้า java.util.scanner; คลาสสาธารณะหลัก {// ตัดสินว่าเป็นจำนวนบูลีนคงที่สาธารณะที่สมบูรณ์ isfinishedNum (int n) {// ยกเว้นสัญญาณรบกวน 1, 2 ถ้า (n == 1) || (n == 2)) ส่งคืนเท็จ; บูลีน isfinishedNum = false; int sum = 1; สำหรับ (int i = 2; i <n; i ++) {ถ้า (n%i == 0) sum+= i; } // ถ้าเท่ากันคือหมายเลขที่สมบูรณ์ถ้า (sum == n) isfinishedNum = true; return isfinishednum; } โมฆะคงที่สาธารณะหลัก (String [] args) {// todo วิธีการที่สร้างขึ้นอัตโนมัติระบบ Stub System.out.println ("wulin.com- การทดสอบเอาต์พุตเสร็จภายในช่วงเฉพาะ:"); สแกนเนอร์ใน = สแกนเนอร์ใหม่ (System.in); int n = in.nextint (); int m = in.nextint (); string out = ""; สำหรับ (int i = n; i <= m; i ++) {ถ้า (isfinishedNum (i)) out = out+i+""; } // ลบช่องว่างทั้งสองด้านของออก = out.trim (); System.out.println (ออก); in.close (); -ผลการทำงาน:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริทึม Java ผู้อ่านที่มีความสนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "โครงสร้างข้อมูล Java และการสอนอัลกอริทึม", "บทสรุปของเคล็ดลับการดำเนินงาน Java Dom", "บทสรุปของไฟล์ Java และเคล็ดลับการดำเนินการไดเรกทอรี" และ "สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน