Harshad數可以被其數字總和整除。簡單來說,如果一個數的所有數字總和是該數的因子,那麼它就是一個Harshad數。
在本文中,我們將看到如何使用Java程式語言來檢查Harshad數。
輸入數字為18
讓我們使用Harshad數的邏輯來檢查它−
數字的各位數字和 = 1 8 = 9。
所以,18可以被9整除。
因此,18是一個Harshad數。
輸入的數字是3
讓我們使用Harshad數的邏輯來檢查它−
數字的各位數總和 = 3。
所以,3可以被3整除。
因此,3 是哈沙德數。
輸入數字為15
讓我們使用Harshad數的邏輯來檢查它−
數字的各位數字和 = 1 5 = 6。
所以,15 不能被 6 整除。
因此,14 不是哈沙德數。
一些其他的哈爾沙德數的例子包括 1、2、4、5、6、7、8、9、10、12、18、20 等。
使用內建的 toString()方法將整數值轉換為字串值。
以下是將整數值轉換為字串值,然後找到其長度並將長度賦值給整數變數以取得數字中總位數的語法 -
String str = Integer.toString(input_number);
要取得整數的長度,我們將使用Java String類別內建的length()方法 方法傳回 String 物件的長度。
int length = st.length();
要取得字串中特定位置/索引處的字符,我們使用 charAt() 方法。其中 charAt(i)-‘0’ 傳回實際的整數值。
int num = st.charAt(i)-‘0’;
其中「st」指的是字串,「i」是迭代該字串的迭代器變數。
第 1 步 - 透過初始化或使用者輸入來取得整數。
第 2 步 - 透過迭代數字的每個數字,找到數字的每個數字的總和。
步驟3 - 然後檢查原始數字是否可被數字的所有位數總和整除。如果可被整除,則給定的數字是一個Harshad數,否則不是一個Harshad數
第 1 步 - 透過初始化或使用者輸入來取得整數。
第 2 步 - 使用內建的 toString() 方法將該整數轉換為字串。
步驟 3 - 透過使用內建的 length() 方法來找到字串的長度。
步驟4 - 然後透過使用for 循環,迭代直到字串的長度,並使用charAt(i)-' 從字串中取得一一整數值0' 並記錄所有數字的總和。
步驟 5 - 然後檢查原始數字是否可以被該數字所有數字的總和整除。如果可整除,則給定的數字是哈沙德數,否則不是哈沙德數。
我們提供了不同方法的解決方案
不使用字串
#透過使用字串
#讓我們一一看看該程式及其輸出。
在這種方法中,程式中將初始化一個整數值,然後透過使用Algorithm-1我們可以檢查一個數字是否是Harshad數。
public class Main{ //main method public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 21; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //initialize sum as 0 int sum = 0; //Find sum of all digits of the number //continue the loop till the number is greater than 0 while(originalNumber > 0){ //get the rightmost digit of the number by using % operator int rem = originalNumber%10; //add the digit(rem) to sum sum = sum + rem; //remove the rightmost digit from number and get the updated number originalNumber = originalNumber/10; } //printing the result if(copyOfOriginalNumber % sum == 0) System.out.println(copyOfOriginalNumber+" is a Harshadnumber"); else System.out.println(copyOfOriginalNumber+" is not a Harshadnumber"); } }
Given number: 21 21 is a Harshad number
在這個方法中,將在程式中初始化一個整數值,然後使用 Algorithm-2 我們將檢查該數字是否為 Harshad 數字。
public class Main{ //main method public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 40; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //initialize sum as 0 int sum = 0; //convert the integer to string by using toString() method String str = Integer.toString(originalNumber); //find length of String by using length() method //which is nothing but total number of digits in the given number int length=str.length(); //iterate the String and get the digits by using charAt(i)-'0' //find the sum of digits for(int i = 0; i < length; i++){ sum += str.charAt(i)-'0'; } //printing the result if(copyOfOriginalNumber % sum == 0) System.out.println(copyOfOriginalNumber+" is a Harshad number"); else System.out.println(copyOfOriginalNumber+" is not a Harshad number"); } }
Given number: 40 40 is a Harshad number
在本文中,我們探討如何使用不同的方法在 Java 中檢查一個數字是否為 Harshad 數字。
以上是如何在Java中檢查一個數字是否為Harshad數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!