gpt4 book ai didi

编码 bat 初学者递归

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:37 24 4
gpt4 key购买 nike

我无法在下面提到的问题中找到递归的逻辑。给定一个非负整数 n,以数字形式返回 7 的出现次数

例如。 Count7(777)=3

例如。 Count7(123)=0

例如。 Count7(171)=1

这是我应用的逻辑

在一个地方数 7 个数 + 在所有其他地方数 7 个数。

例如 13767

计算 (1) 中 7 的个数 + 计算 (3767) 中 7 的个数,就像阶乘程序 where 5!=5*4!

count7(n)
{
if (n==0) {
return 0;
}
if (n==7) {
return 1;
}
if (n!=7) {
return 0;
}
return count7(n%10)+count7(n/10)
}

如有任何建议或帮助,我们将不胜感激。

最佳答案

你有

if (n==7) return 1;

其次是

if (n!=7) return 0;

作为n要么是 7,要么不是 7,后面的一切都不会被调用。相反,你可能想要

if (n<10) return 0;

因为您想为超过 1 位的数字调用递归,如果到达最后一位则在此处中断。

顺便说一句,您还可以删除 if (n==0)部分,因为这也包含在 n<10 中.

关于编码 bat 初学者递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46315003/

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