標准錯排,直接給程序:
[cpp]
/*HODJ2019
作者:陳佳潤
2013-04-26
*/
#include<iostream>
using namespace std;
__int64 A(int n){
int i;
__int64 sum=1;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}
int main(){
__int64 dp[22];
double sum;
int Time,i,n;
dp[0]=0;
dp[1]=0;
dp[2]=1;
for(i=3;i<=20;i++)
dp[i]=(i-1)*(dp[i-1]+dp[i-2]);
cin>>Time;
while(Time--){
cin>>n;
sum=double(dp[n])/double(A(n));
printf("%.2lf%%\n",sum*100);
}
return 0;
}
/*HODJ2019
作者:陳佳潤
2013-04-26
*/
#include<iostream>
using namespace std;
__int64 A(int n){
int i;
__int64 sum=1;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}
int main(){
__int64 dp[22];
double sum;
int Time,i,n;
dp[0]=0;
dp[1]=0;
dp[2]=1;
for(i=3;i<=20;i++)
dp[i]=(i-1)*(dp[i-1]+dp[i-2]);
cin>>Time;
while(Time--){
cin>>n;
sum=double(dp[n])/double(A(n));
printf("%.2lf%%\n",sum*100);
}
return 0;
}