代码运行正常 无法得到预期结果
不需要用while的啊,又没有多组测试数据啊
int dp[20190325];
int main()
{
dp[0] = dp[1]= dp[2] = 1;
int n;
scanf("%d",&n);
for(int i=3;i<n;i++)
{
dp[i] = (dp[i-1] + dp[i-2] + dp[i-3])%10000;
}
printf("%d\n",dp[n-1]);
}
不需要用while循环,scanf放在外面即可,main函数修改如下:
int main()
{
int n;
dp[1] = 1;
dp[2] = 1;
dp[3] = 1;
scanf("%d", &n);
for (int i = 4; i <= n; i++)
{
dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
}
printf("%d\n", dp[n] % 1000);
return 0;
}
参考这段代码:
#include <iostream>
using namespace std;
int num[20190330];
int main()
{
for(int i=1;i<=20190324;i++){
if(i<=3){
num[i] = 1;
}else{
num[i] = (num[i-1] + num[i-2] + num[i-3]) % 10000;
}
}
printf("%d",num[20190324]);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!