求大佬帮忙看看,哪里错了

P1028 [NOIP2001 普及组] 数的计算

```cpp #include <iostream> #include <string.h> using namespace std; int p[1000001] = {-1}; int f(int x) { int ans=0; if(x==0) return 1; if(p[x]!=-1) return p[x]; for(int i=0;i<=x/2;i++) { ans=f(i)+ans; } p[x]=ans; return ans ; } int main() { int n; cin>>n; cout<<f(n); return 0; } ``` ...帮你用代码块显示了一下
by Mr_Wu @ 2018-03-28 21:07:15


```cpp #include <iostream> #include <cstring> using namespace std; int p[1000001]; //此处小改一下 int f(int x) { int ans=0; if(x==0) return 1; if(p[x]!=-1) return p[x]; for(int i=0;i<=x/2;i++) { ans=f(i)+ans; } p[x]=ans; return ans ; } int main() { memset(p, -1, sizeof(p)); //此处小改一下 int n; cin>>n; cout<<f(n); return 0; } ```
by Mr_Wu @ 2018-03-28 21:09:14


@[WHYLJ](/space/show?uid=41044)
by Mr_Wu @ 2018-03-28 21:20:15


@[0_Mr_Wu](/space/show?uid=62308) 感谢大佬
by Sole_dad @ 2018-04-11 20:35:15


|