首頁  >  文章  >  Java  >  Java 中的阿姆斯壯數

Java 中的阿姆斯壯數

王林
王林原創
2024-08-30 16:26:20386瀏覽

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

在編碼範例中,我們使用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");
}
}

輸出:

Java 中的阿姆斯壯數

Java 中的阿姆斯壯數

Java 中的阿姆斯壯數

在第一個程式中,我們輸入數字 370 和 153 作為數字來檢查它們是否是阿姆斯壯。另外,我們輸入 269 作為數字來檢查該數字是否為阿姆斯壯。我們得到程式各自的輸出,數字370和153是阿姆斯壯數,而數字269不是阿姆斯壯數。

範例#2

在第二個編碼範例中,我們選擇一系列數字,檢查它們是否是阿姆斯壯數字。範圍是從 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");
}
}
}

輸出:

Java 中的阿姆斯壯數

在範例輸出中,我們看到 150 到 160 範圍內的所有數字都已檢查是否為阿姆斯壯數字。該程式報告說,只有 153 是阿姆斯壯數,其數字立方和等於原始數字。所有其他數字均被報告為非阿姆斯特朗數字。

範例 #3

在此編碼範例中,我們將看到 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");
}
}
}

輸出:

Java 中的阿姆斯壯數

在程式的範例輸出中,我們看到只有 371 和 370 是阿姆斯壯數,而其他數字都不是,因為各個數字的立方和不等於原始數字。

結論 – Java 中的阿姆斯壯數

在本文中,我們了解了阿姆斯壯數的工作原理和定義。首先,我們檢查輸入的數字是否是阿姆斯壯數字。其次,我們輸入 150 到 160 之間的一系列值,並檢查這些值之間有多少個阿姆斯壯數。第三,我們輸入365到375之間的數字,發現370和371是阿姆斯壯數。阿姆斯壯數是數論中所使用的特殊數字,可用來求某些數字的數字性質及其立方和。

以上是Java 中的阿姆斯壯數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Java 中的回文下一篇:Java 中的回文