(ตัวอย่างเช่น: เมื่อ n คือ 3 มี 1^3 + 5^3 + 3^3 = 153, 153 เป็นหมายเลขพลังตนเองเมื่อ N คือ 3)
เมื่อ n คือ 1 หมายเลขกำลังของตัวเองเรียกว่าหมายเลขโสด
เมื่อ N คือ 2 ไม่มีหมายเลขกำลังตัวเอง
เมื่อ n คือ 3 หมายเลขกำลังตัวเองจะเรียกว่าหมายเลขดอกแดฟโฟดิล
เมื่อ N คือ 4 หมายเลขกำลังตัวเองจะเรียกว่าหมายเลขดอกกุหลาบ
เมื่อ n คือ 5 หมายเลขกำลังตัวเองจะเรียกว่าหมายเลขรูปดาวห้าแฉก
เมื่อ n คือ 6 หมายเลขกำลังตัวเองจะเรียกว่าหมายเลขหกในหนึ่ง
เมื่อ N คือ 7 หมายเลขพลังตนเองเรียกว่า Beidou Seven Stars
เมื่อ n คือ 8 หมายเลขกำลังของตัวเองเรียกว่าแปดหมายเลขอมตะ
เมื่อ n คือ 9 หมายเลขกำลังตัวเองเรียกว่าหมายเลขสองหยางของเก้า
เมื่อ n คือ 10 หมายเลขพลังตนเองเรียกว่าเป็นจำนวนที่สมบูรณ์แบบ
การคัดลอกรหัสมีดังนี้:
-
* หมายเลขพลังตนเอง
* พลังอำนาจเองคือหมายเลข N-digit ที่มีผลรวมของ N-powers ของตัวเลขในแต่ละบิตเท่ากับตัวเอง
* (ตัวอย่างเช่น: เมื่อ N คือ 3 มี 1^3 + 5^3 + 3^3 = 153, 153 เป็นหมายเลขกำลังตัวเองเมื่อ N คือ 3)
-
นำเข้า java.util.scanner;
หมายเลขพลังงานสาธารณะระดับสาธารณะ {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
สแกนเนอร์อินพุต = ใหม่สแกนเนอร์ (System.in);
System.out.println ("โปรดป้อนจำนวนหลักกำลังตัวเองที่คุณต้องการตรวจสอบ:");
int n = input.nextint (); // รับจำนวนตัวเลข
// กำหนดตัวเลขจำนวนเริ่มจาก 10^(n-1) และเพิ่มไปยังส่วนท้ายของ 10^n
สวิตช์ (n) {
กรณีที่ 1:
System.out.println ("หมายเลขเดียว:");
System.out.print ("0" + "/t");
หยุดพัก;
กรณีที่ 2:
System.out.println ("หมายเลขพลังตนเองสองหลัก:");
System.out.println ("ไม่มีพลังตนเอง!");
หยุดพัก;
กรณีที่ 3:
System.out.println ("หมายเลข Narcissus:");
หยุดพัก;
กรณีที่ 4:
System.out.println ("Rose Number:");
หยุดพัก;
กรณีที่ 5:
System.out.println ("Pentagonal Star Number:");
หยุดพัก;
กรณีที่ 6:
System.out.println ("Liuhe Number:");
หยุดพัก;
กรณีที่ 7:
System.out.println ("Big Dipper เจ็ดดาว:");
หยุดพัก;
กรณีที่ 8:
System.out.println ("แปดหมายเลขอมตะ:");
หยุดพัก;
กรณีที่ 9:
System.out.println ("Double Ninth และ Double Ninth Number:");
หยุดพัก;
กรณีที่ 10:
System.out.println ("จำนวนที่สมบูรณ์แบบ:");
หยุดพัก;
ค่าเริ่มต้น:
System.out.println ("หมายเลขพลังตนเองอื่น ๆ :");
หยุดพัก;
-
สำหรับ (หมายเลข int = (int) math.pow (10, n - 1); number <math.pow (10, n); number ++) {
// เงื่อนไขการตัดสิน: จำนวนตัวเลขของตัวเลขคือ n
if (string.valueof (number) .length () == n) {
double num = 0;
สำหรับ (int i = 0; i <n; i ++) {
int temp = (int) (number / math.pow (10, i)) % 10;
num += math.pow (temp, n);
-
if (number == num) {
System.out.print (หมายเลข + "/t");
-
-
-
input.close ();
-
-