我真不知道哪里错了,求大佬解答
#include
#include
int main ()
{
int i,j,k=0;
int n=0;
int a[1000],b[1500],MDP[1000];
for(i=1;i<2000;i++)
{
for(j=2;jif(i%j==0)
{k=0;break;}
else k=1;
}
if(k==1&&i!=1)
{
a[n]=i;
n++;
}
}
int m=0;
for(i=4;i<2013;i++)
{
if (i%2==0)
{
b[m]=i;
m++;
}
}
int l,o,q,p,r=0;
for(i=0;i<=m;i++)
{
for(j=0;j<=n;j++)
{
if(b[i]o=j-1;
}
for(l=o;l>=0;l--)
{
q=b[i]-a[l];
for(p=0;p<=n;p++)
{
if(q==a[p])
{
MDP[r]=a[l]-q;
r++;
break;
}
}
}
}
for(i=0;i<=r;i++)
{
printf("%d ",MDP[i]);
}
}
整讲课程最为凝练的内容应该就是下表:策略评估、策略迭代和价值迭代。为了将概念阐述得更清楚,David Sliver用了很多的公式、例子和图片,反而弄得像我这种不太聪明的听众更加糊涂了[汗]. 我认为很重要的是弄懂GridWorld那个经典的例子,其余的就迎刃而解了。
数组下标越界问题:
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(b[i]<a[j])
{
o=j-1;
break;
}
}
for(l=o;l>=0;l--)
{
q=b[i]-a[l];
for(p=0;p<=n;p++)
{
if(q==a[p])
{
MDP[r]=a[l]-q;
r++;
break;
}
}
}
}
如果答案对您有帮助,望采纳。