gpt4 book ai didi

java - Java中整数的数字平方和

转载 作者:行者123 更新时间:2023-12-02 05:15:20 24 4
gpt4 key购买 nike

我正在尝试编写一个方法的递归实现,该方法采用非负参数,并返回其数字的平方和。例如,sumSquareDigits(10) 应返回 1,sumSquareDigits(103) 应返回 10。

这是我的代码:

public static int sumSquareDigits(int n) {
if (n < 10) return n^2;
return (((n % 10)^2) + sumSquareDigits(n/10));
}

例如,对于给定的整数 625,它会类似于:

(625 % 10)^2 + (62,5 % 10)^2 + (6,25)^2 = 5^2 + 2^2 + (6,25)^2

这当然是错误的,因为最后一项应该是 6 而不是 6,25。我正在寻找一种截断 6,25 使其变为 6 的方法。

我们如何做到这一点?如果有任何提示可以更好地实现此功能,我将不胜感激(我是 Java 新手)。

谢谢!

最佳答案

在Java中,^不是“的幂”,它是按位异或运算符。要在 Java 中执行幂运算,请使用 Math.pow。请记住,Math.pow 返回一个 double,因此如果您只需要一个整数,则需要将其转换为 int。例如

if (n < 10) return (int)Math.pow(n, 2);

当然,正如 msandiford 指出的那样,如果您只需要计算 2 的幂,那么将数字与其本身相乘可能会更容易。例如

if (n < 10) return n * n;

关于java - Java中整数的数字平方和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com