タイプからタイプに移動するときに、モジュロ演算に基づく次のコード ソリューションが機能しないのはなぜだろうと思っていました。int
long
たとえば、 return111111111111L
を取得したいとします12L
。
次の質問で説明されているのと同じ期待される動作を実現するにはどうすればよいですか (int 型の値に対してのみ機能します)。 指定された正の数のすべての桁の合計
私はパフォーマンスの問題にも焦点を当てているので、効率的な解決策を探しています。
public static long sumTheDigitsVersion1(long inputValue){
long sum = inputValue % 9L;
if(sum == 0){
if(inputValue > 0)
return 9L;
}
return sum;
}
public static long sumTheDigitsVersion2(long inputValue){
return inputValue - 9L * ((inputValue - 1L) / 9L);
}
ありがとう