簡體   English   中英

如何通過在Java中執行每個數字的乘積從一組數字中查找一位數字

[英]How to find single digit from a set of number by doing product of each numbers in java

我有一個數字,例如99,現在我需要獲得一個數字,例如-

9*9 = 81
8*1 = 8

ex2:
3456 3*4*5*6
360 3*6*0

除了將數字更改為字符串/字符串,然后與每個相鄰的字符串相乘,獲得輸出的有效方法是什么。

讓我讓這個問題稍微復雜一點,如果我想獲得使N變為一位數字所需的步驟數,那么遞歸可能會使步驟松散,並且僅需要用一種方法完成

假設這些是整數,則可以使用以底數(10)為單位的除法和模數:

81 / 10 = 8
81 % 10 = 1

對於第二個示例,您想使用while (X >= 10)循環。

這個遞歸函數應該做到這一點...

int packDown( int num ) {
  if( num < 10 ) return num ;
  int pack = 1 ;
  while( num > 0 ) {
    pack *= num % 10 ;
    num /= 10 ;
  }
  return packDown( pack ) ;
}
public static int digitMultiply(int number) {
    int answer = 1;
    while (number > 0) {
        answer=answer*(number % 10);
        number = number / 10;
    }
    return answer;
}

希望能幫助到你!! 簡單的乘法運算法則

以下單個遞歸方法也應起作用:

int multDig(int number){
  if(number >= 10)
    return multDig((number%10) * multDig(number/10));
  else
    return number;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM