单选错位
题目
解析
显然,当两道题选项数不同时,做对的概率为较大的一个,因此直接做即可
code:
#include<cstdio>
#include<algorithm>
using namespace std;
int n,A,B,C,a[10000010];
double ans;
int main()
{
scanf("%d%d%d%d%d", &n, &A, &B, &C, a + 1);
for (register int i = 2; i <= n; i++)
a[i] = ((long long) a[i - 1] * A + B) % 100000001;
for (register int i = 1; i <= n; i++)
a[i] = a[i] % C + 1;
ans=1.0/std::max(a[1],a[n]);
for(register int i=2;i<=n;++i)ans+=1.0/std::max(a[i],a[i-1]);
printf("%.3lf",ans);
return 0;
}