หมายเลข Armstrong ใน Java คืออะไร? เป็นข้อกำหนดเบื้องต้นและอัลกอริทึม

เผยแพร่แล้ว: 2021-04-08

สารบัญ

หมายเลขอาร์มสตรองคืออะไร?

หมายเลขที่กำหนด x เรียกว่าหมายเลขลำดับอาร์มสตรอง n หากเท่ากับผลรวมของหลักที่ยกกำลัง n เช่น:

abc= pow(a,n) + pow(b,n) + pow(c,n)

จำนวนเต็มบวกของ n หลักคือหมายเลข Armstrong (ของคำสั่ง 3) หากมีค่าเท่ากับผลรวมของลูกบาศก์ของตัวเลข ตัวอย่างเช่น:

อินพุต: 153

เอาท์พุต: ใช่

1*1*1 + 5*5*5 + 3*3*3 = 153

ดังนั้น 153 จึงเป็นเลขอาร์มสตรอง

อินพุต: 121

เอาท์พุต: ไม่

1*1*1 + 2*2*2 + 1*1*1 = 10

ดังนั้น 120 ไม่ใช่ตัวเลขอาร์มสตรอง

ข้อกำหนดเบื้องต้นและอัลกอริทึม

ในบทความนี้ เราจะเรียนรู้ที่จะตรวจสอบว่าหมายเลขอินพุตเป็นหมายเลข Armstrong หรือไม่ สำหรับสิ่งนี้ เราจะใช้ while loop และ for loop ใน Java เพื่อให้เข้าใจโปรแกรมนี้ เราต้องการความรู้ในหัวข้อต่อไปนี้ใน Java:

  • คำสั่ง if-else ของ Java
  • Java สำหรับ Loop
  • Java while และ do-while loop

อัลกอริทึม:

  1. หาตัวแปรจำนวนเต็ม x
  2. ค่าถูกกำหนดให้กับตัวแปร x
  3. ตัวเลขของค่าจะถูกแบ่ง
  4. หาค่าลูกบาศก์ของแต่ละหลัก
  5. เพิ่มค่าของลูกบาศก์ทั้งหมด
  6. ผลลัพธ์จะถูกบันทึกลงในผลรวมของตัวแปร
  7. ถ้า sum=X พิมพ์ Armstrong number

ถ้า sum != X ไม่พิมพ์หมายเลข Armstrong

โปรแกรมตรวจสอบหมายเลข Armstrong ใน Java

1. หมายเลข Armstrong ใน Java ของคำสั่ง 3

รหัส:

อาร์มสตรองระดับสาธารณะ{

โมฆะคงที่สาธารณะหลัก (สตริง [] args) {

int x=0,a,อุณหภูมิ;

int n=153;//เป็นตัวเลขเช็คอาร์มสตรอง

อุณหภูมิ=n;

ในขณะที่(n>0)

{

เป็น=n%10;

n=n/10;

x=x+(a*a*a);

}

ถ้า(อุณหภูมิ==x)

System.out.println(“หมายเลขอาร์มสตรอง”);

อื่น

System.out.println("ไม่ใช่หมายเลขอาร์มสตรอง");

}

}

เอาท์พุท:

คำอธิบาย

อันดับแรก ค่าของตัวเลข N จะถูกเก็บไว้ในตัวแปรจำนวนเต็มตัวอื่น x สิ่งนี้ทำได้เนื่องจากเราต้องเปรียบเทียบค่าของตัวเลขเดิมกับตัวเลขสุดท้ายในตอนท้าย A while loop ใช้เพื่อลอดผ่านตัวเลข N จนกระทั่งเท่ากับ 0 ทุกครั้งที่วนซ้ำ ตัวเลขสุดท้ายของ N จะถูกเก็บไว้ใน a

จากนั้นผลลัพธ์จะถูกคำนวณโดยการลูกบาศก์ a หรือใช้คณิตศาสตร์ pow() และเพิ่มลงใน x เมื่อตัวเลขสุดท้ายถูกลบออกจาก N จะถูกหารด้วย 10 สุดท้าย =, temp และ X จะถูกเปรียบเทียบ ถ้าเท่ากัน ก็คือเลขอาร์มสตรอง มิฉะนั้น มันไม่ใช่

2. หมายเลข Armstrong ใน Java ของคำสั่ง n

รหัส:

อาร์มสตรองคลาสสาธารณะ

{

/* ฟังก์ชันคำนวณการยกขึ้นของ

กำลัง b */

อำนาจ int (int a, ยาว b)

{

ถ้า (b == 0)

ส่งคืน 1;

ถ้า (b%2 == 0)

พลังงานกลับ(a, b/2)*กำลัง(a, b/2);

คืนค่า a*power(a, b/2)*power(a, b/2);

}

/* ฟังก์ชันคำนวณลำดับของตัวเลข */

ลำดับ int (int a)

{

int n = 0;

ในขณะที่ (a != 0)

{

ไม่ ++;

a = a/10;

}

กลับ n;

}

// ฟังก์ชั่นตรวจสอบว่าตัวเลขที่กำหนดเป็นหมายเลข Armstrong หรือไม่

บูลีนอาร์มสตรอง (int a)

{

// เรียกฟังก์ชันคำสั่ง

int n = คำสั่ง (a);

int temp=a, ผลรวม=0;

ในขณะที่ (ชั่วคราว!=0)

{

int r = อุณหภูมิ% 10;

ผลรวม = ผลรวม + กำลัง (r,n);

อุณหภูมิ = อุณหภูมิ/10;

}

// ถ้ามันเป็นไปตามเงื่อนไขของอาร์มสตรอง

ผลตอบแทน (ผลรวม == a);

}

// โปรแกรมไดรเวอร์

โมฆะคงที่สาธารณะ main(String[] args)

{

Armstrong obj = ใหม่ Armstrong ();

int a = 153;

System.out.println(obj.isArmstrong(ก));

ก = 1276;

System.out.println(obj.isArmstrong(ก));

}

}

เอาท์พุต :

คำอธิบาย

ในโปรแกรมนี้ แทนที่จะใช้ while loop เราใช้การเรียกซ้ำ ฟังก์ชันแรกใช้ในการคำนวณจำนวน a ยกกำลัง b Math.pow(a,b) สามารถใช้เหมือนกันได้ ฟังก์ชันที่สองตรวจสอบลำดับของตัวเลข เช่น 153 เป็นลำดับที่ 3 สุดท้าย ฟังก์ชันบูลีน Armstrong ใช้เพื่อส่งคืนหากตัวเลขเป็น Armstrong หรือไม่ จากนั้นวัตถุของคลาส Armstrong จะใช้ในการเรียกใช้ฟังก์ชัน

โปรแกรม Java เพื่อพิมพ์ตัวเลขอาร์มสตรองในช่วงที่กำหนด

รหัส:

อาร์มสตรองคลาสสาธารณะ

{

โมฆะคงที่สาธารณะ main(String[] arg)

{

int i=0,x;

System.out.println(“หมายเลขอาร์มสตรองระหว่าง 0 ถึง 999”);

ในขณะที่(ผม<1000)

{

x=armstrongOrNot(i);

ถ้า(x==ผม)

System.out.println(i);

ผม++;

}

}

สแตติก int armstrongOrNot(int n)

{

int c,a=0;

ในขณะที่(n!=0)

{

ค=n%10;

a=a+(c*c*c);

n/=10 ;

}

ส่งคืน a;

}

}

เอาท์พุท:

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

บทสรุป

ในบทความนี้ เราได้กล่าวถึงหมายเลข Armstrong ในภาษาจาวาอย่างละเอียด เราเห็นวิธีการตรวจสอบว่าตัวเลขเป็นหมายเลข Armstrong ของคำสั่ง n และคำสั่ง 3 หรือไม่ เรายังเห็นว่าคุณจะได้รับหมายเลข Armstrong ทั้งหมดระหว่างขอบเขตล่างและบนได้อย่างไร

หากคุณต้องการพัฒนาทักษะ Java ของคุณ คุณต้องลงมือทำโปรเจ็กต์ Java เหล่านี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, การพัฒนาแบบฟูลสแตก, ลองดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง, โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Java และก้าวขึ้นในสายอาชีพด้านเทคนิค ให้สำรวจ หลักสูตรออนไลน์ Java ฟรี โดย upGrad บริษัทการศึกษาระดับอุดมศึกษาออนไลน์รายใหญ่ที่สุดของอินเดีย ติดต่อเราเพื่อขอรายละเอียดเพิ่มเติม

มาเป็นนักพัฒนาเต็มรูปแบบ

UPGRAD และ PG DIPLOMA ของ IIIT-BANGALORE ในการพัฒนาซอฟต์แวร์
ลงทะเบียนตอนนี้ที่ UPGRAD