通过动态规划计算欧拉五角数定理
这是代码的链接,我也在下面发布了它。
#include<math.h>
void pentagon(int n)
{
int k,p[10],a[10],b[10];
if(n<0)
p[n]=0;
if(n==0)
p[n]=1;
for(k=1;k<n;k++)
{
a[k]=((3*pow(k,2))-k)/2;
b[k]=((3*pow(k,2))+k)/2;
}
for(k=1;k<n;k++)
{
p[n]=pow(-1,k-1)(pentagon(n-a[k])+pentagon(n-b[k]));
}
cout<<p[n];
}
int main()
{
pentagon(4);
return(0);
}
我收到以下错误:
在函数'void pentagon(int)'中:
第11行:错误:调用重载'pow(int&amp;,int)'是不明确的
由于-Wfatal-errors导致编译终止
没有找到相关结果
已邀请:
4 个回复
梦话快家腹
替换为
作为
的第二个参数(第11,12行)。 另见:http://www.cplusplus.com/reference/clibrary/cmath/pow/
咳累录酬
但我猜基础算法仍然是错误的,因为输出是:
柑恫祟
将
改为k * k:
将乘法符号添加到
赋值:
方法需要返回一个值才能在上面的语句中使用它。
蕾跨立锌煤
功能一次只计算一个术语。没有代码可以汇总所有条款。