#include<stdio.h>
#if 0
double fun(int a)
{
int i,j;
double m,S=1.0;
for(i=2;i<=a;i++)
m=1.0;
for(j=1;j<=i;j++)//--變++不變也可
m*=j;//改了一下
}
S+=1.0/m;
return S;
#endif
//優化了一下
double m=1.0,S=1.0;
for(i=1;i<=a;i++)//從0算起,從1算起的話改回:for(i=2;i<=a;i++)
m*=i; // 求階乘
S+=1.0/m;//倒數相加
main()
int n,sum;
scanf("%d",&n);
sum=fun(n);
printf("%d\n",sum);
#include<stdio.h>
#if 0
double fun(int a)
{
int i,j;
double m,S=1.0;
for(i=2;i<=a;i++)
{
m=1.0;
for(j=1;j<=i;j++)//--變++不變也可
{
m*=j;//改了一下
}
S+=1.0/m;
}
return S;
}
#endif
//優化了一下
double fun(int a)
{
int i,j;
double m=1.0,S=1.0;
for(i=1;i<=a;i++)//從0算起,從1算起的話改回:for(i=2;i<=a;i++)
{
m*=i; // 求階乘
S+=1.0/m;//倒數相加
}
return S;
}
main()
{
int n,sum;
scanf("%d",&n);
sum=fun(n);
printf("%d\n",sum);