Birthday paradox

#include
#include<string.h>
using namespace std;
#define ll long long
ll a[1000005],pre[1000005];
int main()
{ float t;
cin>>t;
float num=365;
float den=365;
ll n=0;
float x=1;
t=1-t;
while(x>t)
{ x=x*(num/den);
num=num-1;
n++;
}
cout<<n<<endl;
return 0;
}
one test case is failing

Your code is failing for input 1.
directly print 366 in that case.