bool next[21];
void fun_fenzhi(int n, int sum)
{
if(n<=0 || sum<=0)
return;
if(n < sum)
{
next[n]=true;
fun_fenzhi(n-1,sum-n);
next[n]=false;
fun_fenzhi(n-1,sum);
}
else if(n == sum)
{
next[n]=true;
// print_arr(next);
count++;
next[n]=false;
fun_fenzhi(n-1,sum);
}
else if(n > sum)
{
next[n]=false;
fun_fenzhi(n-1,sum);
}
}
void testfun_fenzhi()
{
memset(next,false,10);
clock_t start1 = clock();
fun_fenzhi(20,100);
clock_t end1 = clock();
long acc1 = (end1 - start1);
cout<<count<<endl;
printf("average time is %d\n", acc1 / 10 );
}
输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,
最新推荐文章于 2019-09-06 11:21:57 发布
本文深入探讨了一种用于数值分解的算法,并展示了其在解决实际问题中的应用案例。通过详细解析算法流程,作者揭示了如何高效地进行数值分解,为相关领域的研究者提供了宝贵的实践指南。
8649

被折叠的 条评论
为什么被折叠?



