一道概率dp的问题。
一个人扔六面的骰子,数值1到6,扔到几就向前走几格,可以无限扔,问他恰好走到第2023格的概率是多少?
然后这是我的代码
#include<bits/stdc++.h>
using namespace std;
long double dp[3030];
int main(){
dp[0] = 1;
for(int i = 0;i < 2023;i++){
for(int j = 1;j <= 6;j++){
dp[i+j] += dp[i]*1.0/6;
}
}
printf("%0.30Lf",dp[2023]);
}
结果有个人说:“int j = 1;j <= 6;j++”这里就错了,你等于安排骰子从1开始走起,1之后就是23456
说句实话,我甚至没有看懂他想表达什么,故来求助谷民,如何反驳。