จะตรวจสอบหมายเลขอาร์มสตรองใน Java ได้อย่างไร

Ca Trwc Sxb Hmay Lekh Xarm S Trxng Ni Java Di Xyangri



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

บล็อกนี้ช่วยในการค้นหาหมายเลข Armstrong สำหรับข้อมูลที่ให้มา







จะตรวจสอบหมายเลข Armstrong ใน Java ได้อย่างไร

หมายเลขอาร์มสตรอง ” ถูกตรวจสอบเพื่อระบุตัวเลขที่ตรงตามคุณสมบัติทางคณิตศาสตร์เฉพาะ หากค่าที่ให้มาเหมือนกับการบวกจำนวนเต็มของตัวเองยกกำลังของจำนวนเต็มทั้งหมดของค่าที่ให้มา



ตอนนี้ ให้เราไปดูตัวอย่างเพื่อความเข้าใจเพิ่มเติม:



ตัวอย่างที่ 1: การระบุหมายเลขอาร์มสตรอง





เยี่ยมชมโปรแกรมเพื่อตรวจสอบว่าหมายเลขที่ให้นั้นเป็นหมายเลขของ Armstrong หรือไม่:

นำเข้า java.util.Scanner;
// การนำเข้ายูทิลิตี้ที่จำเป็น
ArmstrongChecker คลาสสาธารณะ {
โมฆะสาธารณะคงหลัก ( สตริง [ ] หาเรื่อง )
// ประกาศหลัก ( ) วิธี
{
สแกนเนอร์ demoTest = สแกนเนอร์ใหม่ ( ระบบใน ) ;
System.out.print ( 'ป้อนหมายเลขเพื่อตรวจสอบ: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
ตัวเลข int = 0 ;
ในขณะที่ ( เลขต้นทาง ! = 0 ) {
เลขต้นทาง / = 10 ;
ตัวเลข ++;
}

นานาชาติ ผลรวม = 0 ;
อุณหภูมิ int = numEle;
สำหรับ ( int ฉัน = 0 ; ฉัน < ตัวเลข; ฉัน ++ ) {
นานาชาติ คุณ = อุณหภูมิ % 10 ;
ผลรวม += Math.pow ( คุณ ตัวเลข ) ;
อุณหภูมิ / = 10 ;
}

ถ้า ( ผลรวม == ชื่อ ) {
System.out.println ( ชื่อ + 'คือหมายเลขอาร์มสตรอง' ) ;
} อื่น {
System.out.println ( ชื่อ + 'ไม่ตรงตามเงื่อนไขสำหรับหมายเลขอาร์มสตรอง' ) ;
}
}
}


คำอธิบายของรหัสด้านบน:



    • ประการแรก วัตถุสำหรับ “ สแกนเนอร์ ” คลาสถูกสร้างขึ้นเพื่อดึงจำนวนเต็มจากผู้ใช้ปลายทางโดยใช้ “ ถัดไปInt() ” วิธีการและเก็บข้อมูลที่ดึงมาไว้ในตัวแปรชื่อ “ ชื่อ '.
    • ถัดไป ค่าที่ดึงมานี้ถูกกำหนดให้กับตัวแปรประเภท int ชื่อ “ เลขต้นทาง ” และเริ่มต้นตัวแปรชื่อ “ ตัวเลข ' กับ ' 0 '.
    • จากนั้น “ ในขณะที่ ” ลูปถูกใช้เพื่อหาร origNum ด้วย 10 ซ้ำๆ และเพิ่มตัวแปรหลักในแต่ละครั้งจนกว่า origNum จะเป็น 0
    • หลังจากนั้นให้ประกาศตัวแปร “ ผลรวม ” และตั้งค่าของ “ ชื่อ ” ถึง “ อุณหภูมิ ' ตัวแปร. และใช้ประโยชน์จาก “ สำหรับ ” ลูปที่วนซ้ำจนถึง “ ตัวเลข ” ค่าตัวแปร
    • และในการวนซ้ำ 'for' แต่ละครั้ง หลักสุดท้ายของ ' อุณหภูมิ ” ถูกดึงออกมาโดยใช้ตัวดำเนินการโมดูลัสและจัดเก็บไว้ในตัวแปรใหม่ “ คุณ '. จากนั้นจึงเพิ่มลูกบาศก์ของหลักลงใน ' ผลรวม ” ตัวแปรโดยใช้เมธอด Math.pow()
    • ในที่สุด “ ถ้า / อื่น ๆ คำสั่ง ” ใช้เพื่อกำหนดว่าผลรวมที่คำนวณได้เท่ากับจำนวนเดิมที่ผู้ใช้ให้มาหรือไม่ หากค่าทั้งสองเท่ากัน หมายเลขที่ระบุจะเป็นหมายเลขอาร์มสตรองและในทางกลับกัน

หลังจากรวบรวม:


ผลลัพธ์แสดงว่าหมายเลขที่ระบุคือหมายเลขอาร์มสตรอง

ตัวอย่างที่ 2: ค้นหาหมายเลขอาร์มสตรองทั้งหมดภายในขีดจำกัดที่ให้มา

หากต้องการค้นหาหมายเลข Armstrong ทั้งหมดตามค่าหรือขีดจำกัดที่ระบุ โปรดไปที่รหัสด้านล่าง:

นำเข้า java.util.Scanner;
นำเข้า java.lang.Math;

ArmstsrongNumberExample คลาสสาธารณะ
{
บูลีนคงที่ isArmsNum ( int เจ ) {
int บัฟ, ร้องเพลง = 0 , จบ = 0 , คำนวณ = 0 ;
หนังสัตว์ =j;
ในขณะที่ ( หนังสัตว์ > 0 ) {
บัฟ = บัฟ / 10 ;
singDig++;
}
หนังสัตว์ = j;
ในขณะที่ ( หนังสัตว์ > 0 )
{
จบ = หนัง % 10 ;
คำนวณ += ( คณิตศาสตร์.pow ( สิ้นสุด singDig ) ) ;
บัฟ = บัฟ / 10 ;
}
ถ้า ( เจ == คำนวณ )
กลับ จริง ;
อื่น กลับ เท็จ ;
}
โมฆะสาธารณะคงหลัก ( อาร์กิวเมนต์สตริง [ ] )
// ประกาศหลัก ( ) วิธี
{
int proNum;
สแกนเนอร์ วท = สแกนเนอร์ใหม่ ( ระบบใน ) ;
System.out.print ( 'ใส่ขีดจำกัดบน: ' ) ;
หมายเลขผลิตภัณฑ์ =sc.nextInt ( ) ;
System.out.println ( 'จำนวนอาร์มสตรองถึงขีด จำกัด ที่ให้ไว้' +โปรนัม+ ' เป็น: ' ) ;
สำหรับ ( นานาชาติ เค = 0 ; เค < =สำหรับจำนวน; k++ )
ถ้า ( isArmsNum ( เค ) )
System.out.print ( k+ ', ' ) ;
}
}


คำอธิบายของรหัสด้านบน:

    • ขั้นแรก ให้ประกาศตัวแปรหลายตัว “buff”, “singDig”, “end” และ “calc” โดยมีประเภทเป็น “ นานาชาติ ” ภายในเมธอดประเภทบูลีนชื่อ “ isArmsNum() '. รับพารามิเตอร์ที่กำหนดให้กับตัวแปรชื่อ “ หนังสัตว์ '.
    • ต่อไป “ ในขณะที่ ” มีการประกาศลูปซึ่งจะวนซ้ำจนกว่าค่าบัฟจะถึง “ 0 '. หลังจากนั้น “ หนังสัตว์ ” เป็นโมดูลัสโดย “ 10 ” เพื่อลบหลักสุดท้ายออกจากค่าที่ให้และเพิ่ม “ ร้องเพลง ' ตัวแปร.
    • จากนั้น “ ในขณะที่ ” วนซ้ำจะใช้อีกครั้งเหนือ “ หนังสัตว์ ” ตัวแปรเพื่อแยกหลักสุดท้าย ลูกบาศก์ของหลักคำนวณโดยใช้ “ คณิตศาสตร์. ธาร () ” วิธีการแล้วเพิ่มลงใน “ คำนวณ ' ตัวแปร.
    • ตอนนี้ “ ถ้า คำสั่ง ” ใช้เพื่อตรวจสอบว่าค่าที่คำนวณได้ใน “ คำนวณ ตัวแปร ” เท่ากับค่าที่ผู้ใช้ปลายทางกำหนดไว้หรือไม่ แสดงข้อความตามนั้นด้วย
    • หลังจากนั้น ข้อมูลที่ป้อนจากผู้ใช้จะถูกเรียกค้นด้วยความช่วยเหลือของ ' สแกนเนอร์ ” ยูทิลิตี้ใน “ หลัก() ' วิธี.
    • ในที่สุด “ สำหรับ ” การวนซ้ำจะวนซ้ำจนถึงค่าที่กำหนด และการวนซ้ำแต่ละครั้งเรียกว่า “ isArmsNum() ' วิธี. วิธีนี้จะรับค่าทั้งหมดจนกว่าจะถึงค่าที่กำหนดและตรวจสอบแต่ละค่าสำหรับหมายเลขอาร์มสตรอง

หลังจากรวบรวม:


ผลลัพธ์จะแสดงหมายเลข Armstrong ทั้งหมดจนถึงค่าที่ให้ไว้ซึ่งก็คือ “ 370 ' ในกรณีนี้.

บทสรุป

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