Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java ตรวจสอบหมายเลขอาร์มสตรอง


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

จำนวนเต็มเรียกว่าหมายเลขลำดับอาร์มสตรอง n หากทุกหลักแยกออกและลูกบาศก์และสรุปผลรวมจะเหมือนกับตัวเลขเช่น abcd... =a3 + b3 + c3 + d3 + ...

ในกรณีของตัวเลขอาร์มสตรอง 3 หลัก ผลรวมของลูกบาศก์ของแต่ละหลักจะเท่ากับตัวเลขนั้นเอง ตัวอย่างเช่น 153 คือหมายเลข Armstrong

153 =13 + 53 + 33

ตัวอย่างเช่น 371 คือหมายเลข Armstrong

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ป้อนข้อมูล

สมมติว่าข้อมูลที่เราป้อนคือ −

ป้อนหมายเลข :407

ผลผลิต

ผลลัพธ์ที่ต้องการจะเป็น −

407 คือหมายเลขอาร์มสตรอง

อัลกอริทึม

ขั้นตอนที่ 1 - STARTขั้นตอนที่ 2 - ระบุค่าจำนวนเต็มสี่ค่า ได้แก่ my_input, my_temp, my_remainder, my_resultStep 3 - อ่านค่าที่ต้องการจากผู้ใช้/ กำหนดค่าขั้นตอนที่ 4 - รัน a while loop เพื่อตรวจสอบตัวเลข Armstrong โดยใช้ %, / และ * โอเปอเรเตอร์ขั้นตอนที่ 5 - หารด้วย 10 และรับเศษที่เหลือสำหรับ 'ตรวจสอบ' ขั้นตอนที่ 6 - คูณ 'rem' สามครั้งและเพิ่มใน 'ผลรวม' และทำให้เป็น 'ผลรวม' ปัจจุบัน ขั้นตอนที่ 7 - หาร 'ตรวจสอบ' ด้วย 10 และ ทำให้ปัจจุบัน 'ตรวจสอบ' เก็บค่าผลลัพธ์ ขั้นตอนที่ 8 - หากค่าผลลัพธ์เท่ากับค่าอินพุต ค่าอินพุตคือหมายเลข Armstrong มิฉะนั้นจะไม่ใช่หมายเลข Armstrong ขั้นตอนที่ 9 - แสดง resultStep 10- Stop

ตัวอย่างที่ 1

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

นำเข้า java.util.Scanner;คลาสสาธารณะ IsArmstrong { โมฆะสาธารณะหลัก (สตริง [] args) { int my_input, my_temp, my_remainder, my_result; my_result =0; System.out.println("นำเข้าแพ็คเกจที่จำเป็นแล้ว"); สแกนเนอร์ my_scanner =สแกนเนอร์ใหม่ (System.in); System.out.println("วัตถุตัวอ่านถูกกำหนดแล้ว"); System.out.print("ป้อนหมายเลข :"); my_input =my_scanner.nextInt(); my_temp =my_input; ในขณะที่ (my_temp !=0) { my_remainder =my_temp % 10; my_result +=Math.pow(my_remainder, 3); my_temp /=10; } if(my_result ==my_input) System.out.println(my_input + " is an Armstrong number"); อื่น System.out.println(my_input + " ไม่ใช่หมายเลข Armstrong"); }}

ผลลัพธ์

นำเข้าแพ็คเกจที่ต้องการแล้ว มีการกำหนดวัตถุตัวอ่านแล้วป้อนหมายเลข:407407 เป็นหมายเลข Armstrong

ตัวอย่างที่ 2

ในที่นี้ มีการกำหนดจำนวนเต็มก่อนหน้านี้ และเข้าถึงและแสดงค่าบนคอนโซล

<ก่อน> IsArmstrong คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง [] args) { int my_input, my_temp, my_remainder, my_result; my_input =407; my_result =0; System.out.println("ตัวเลขถูกกำหนดเป็น" +my_input); my_temp =my_input; ในขณะที่ (my_temp !=0) { my_remainder =my_temp % 10; my_result +=Math.pow(my_remainder, 3); my_temp /=10; } if(my_result ==my_input) System.out.println(my_input + " is an Armstrong number"); อื่น System.out.println(my_input + " ไม่ใช่หมายเลข Armstrong"); }}

ผลลัพธ์

หมายเลขถูกกำหนดเป็น 407407 หมายเลขอาร์มสตรอง