这个为什么是错的
#include <bits/stdc++.h>
#define lb long double
using namespace std;
int n,k;
lb q;
int main(){
cin>>n>>k>>q;
if(!n&&fabs(q)<1e-8){
printf("0");
return 0;
}
else if(n&&fabs(q)<1e-8){
printf("-1");
return 0;
}
printf("%.4Lf",1.0-pow(1.0-pow(1.0-q,k-1),n)*(1.0-q));
return 0;
}