gpt4 book ai didi

java - 使用递归检查整数的位数是否为偶数

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

需要通过递归检查整数的位数是否为偶数。

这里没有递归:

private static boolean jeParanBrCifara(int n) {
int brojCifara = String.valueOf(n).length();
if (brojCifara % 2 == 0)
return true;
else
return false;
}

这是使用递归计算数字的代码

public  int DigitsCount(int Number) {    
if (Number > 0) {
Count = Count + 1;
DigitsCount(Number / 10);
}
return Count;
}

但是如何创建一个以整数作为参数并返回 true (如果位数为偶数)或 false 的递归方法?

我这样做了,但不确定它是否正确:

static int Count = 0;
public static boolean isEven(int Number) {
boolean even = false;
if (Number > 0) {
Count = Count + 1;
isEven(Number / 10);
}
if (Count % 2 == 0) {
even = true;
}
return even;
}

有什么技巧/提示吗?

最佳答案

考虑一下当您增加位数时答案如何变化:

  • 1 位数字 -
  • 2 位数字 - true
  • 3 位数字 -
  • 4 位数字 - true
  • 等等

看到图案了吗?一位数字问题的答案是,而n+1数字问题的答案是n问题答案的倒数 数字。

由于您已经知道将整数除以 10 可以将位数减少 1,因此您应该能够仅用几行代码编写上述算法的解决方案。

关于java - 使用递归检查整数的位数是否为偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48173223/

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