#include<iostream> #include<stdlib.h> #include<iomanip> using namespace std; __int64 jc(int x){ __int64 sum=1; while(x) { sum*=x; --x; } return sum; } void main(){ unsigned n; __int64 s[21]; memset(s,0,sizeof(__int64)*21); s[0]=0; s[1]=0; s[2]=1; for(int i=3;i<21;++i){ s[i]=(i-1)*(s[i-1]+s[i-2]); } while(cin>>n){ while(n--){ int a; cin>>a; __int64 xx=jc(a); double f=1.0*xx; double ff=(double)s[a]; double fff=(ff/f)*100.0; cout<<setprecision(2)<<fixed<<fff<<"%"<<endl; } } }
杭电ACM 第2048题
最新推荐文章于 2024-08-01 13:27:05 发布