gpt4 book ai didi

c++ - 如何使用递归使用嵌套循环并检查 C++ 中的数字总和

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

我想计算 k 位数字中特定数字总和的出现次数。我的代码是

long recur(long k, long n)
{
long count = 0;
if(k == 0)
{
return 0;
}

for(long i = 1; i <= 9 ; i++)
{
long c = i + recur(k - 1, n);

if(c == n)
{
count++;
}
}
return count;
}

/* k 是位数,n 是我要查找的位数之和。例如,如果 k 是 3,那么我们可以有从 111 到 999 的数字,其中数字的总和从 1+1+1=3 到 9+9+9=27 不等。如果我想求出sum(n)=4的k=3位数字的个数,那么答案就是3。因为只有112121和211是可能的解。*/

它没有给我正确的答案。输出总是 1。任何帮助将不胜感激。

最佳答案

试试这个

long recur(long k, long n) {
if(k==0) return n==0;

long count=0;
for(long i=1; i<=9; ++i) {
count += recur(k - 1, n - i);
}
return count;
}

关于c++ - 如何使用递归使用嵌套循环并检查 C++ 中的数字总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36708745/

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