Java 中的阿姆斯壯數 阿姆斯壯數是一種數字各數字的立方和等於數字本身的數。阿姆斯壯數是一種特殊的數字,首先取出數字,然後進行立方,最後將各個數字的所有立方相加得到一個數字。如果由此找到的數字等於原始數字,則相應的數字稱為阿姆斯壯數。以阿姆斯壯數字為例,153。如果我們把153的數字拆開,分別是1、5、3。然後求各數字的立方,最後再計算數字的立方。
153= (1*1*1)+(5*5*5)+(3*3*3) 370= (3*3*3)+(7*7*7)+(0*0*0)
這樣我們就可以計算出一個數字是否是阿姆斯壯數。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗我們將在範例的幫助下看到插圖。
在編碼範例中,我們使用Java程式語言來判斷數字是否為阿姆斯壯數。如果輸入的數字是阿姆斯壯數,則程式會自動將其列印為阿姆斯壯數,如果不是1,則自動回覆該數字不是阿姆斯壯數。我們可以輸入三位數或四位數的值來檢查該數字是否為阿姆斯壯數。
程式的邏輯是,對應數字的每個數字都儲存在 temp 變數中。然後,對數字進行立方以找出相應數字的立方,並將其儲存在另一個變數total中。最後將總數與對應的原始數進行核對。每一步將數字除以 10,然後得到數字的餘數,然後將數字進行立方,得到相應數字的立方,從而一一得到數字。
代碼:
import java.io.*; public class Armstrong { public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a number"); int num = Integer.parseInt(br.readLine()); int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } }
輸出:
在第一個程式中,我們輸入數字 370 和 153 作為數字來檢查它們是否是阿姆斯壯。另外,我們輸入 269 作為數字來檢查該數字是否為阿姆斯壯。我們得到程式各自的輸出,數字370和153是阿姆斯壯數,而數字269不是阿姆斯壯數。
在第二個編碼範例中,我們選擇一系列數字,檢查它們是否是阿姆斯壯數字。範圍是從 150 到 160。我們選擇範圍,然後檢查輸出該數字是否為阿姆斯壯數字。然後我們看到輸出。所使用的邏輯類似於用於查找阿姆斯特朗數的邏輯。計算出該數字的各個數字,然後將它們相乘並求和以獲得最終的總數。如果最終總數等於原始數,則視為計算出的阿姆斯壯數。
代碼:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 150; num<160; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
輸出:
在範例輸出中,我們看到 150 到 160 範圍內的所有數字都已檢查是否為阿姆斯壯數字。該程式報告說,只有 153 是阿姆斯壯數,其數字立方和等於原始數字。所有其他數字均被報告為非阿姆斯特朗數字。
在此編碼範例中,我們將看到 365 到 375 之間的阿姆斯壯數列表。我們正在更改要檢查阿姆斯壯數的值的範圍。編碼的範例邏輯與前面的完全相同。主要區別在於要檢查的數字範圍發生了變化,與最後一行程式碼略有不同。
將各個數字相加、立方並求和得到一個數字。如果該數與原始數相同,則原始數稱為阿姆斯壯數;否則,它不是阿姆斯壯數。
代碼:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 365; num<375; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
輸出:
在程式的範例輸出中,我們看到只有 371 和 370 是阿姆斯壯數,而其他數字都不是,因為各個數字的立方和不等於原始數字。
在本文中,我們了解了阿姆斯壯數的工作原理和定義。首先,我們檢查輸入的數字是否是阿姆斯壯數字。其次,我們輸入 150 到 160 之間的一系列值,並檢查這些值之間有多少個阿姆斯壯數。第三,我們輸入365到375之間的數字,發現370和371是阿姆斯壯數。阿姆斯壯數是數論中所使用的特殊數字,可用來求某些數字的數字性質及其立方和。
以上是Java 中的阿姆斯壯數的詳細內容。更多資訊請關注PHP中文網其他相關文章!