import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner bg = new Scanner(System.in);
int n=bg.nextInt();
double e=1;
for(int i=1; i<=n;i++) {
double sum = 1;
for(int j=1;j<=i;j++)
sum*=j;
e+=(1.0/sum);
}
System.out.printf("%.10f", e);
bg.close();
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
double e=1.0,fact=1.0;
int n=in.nextInt();
for (int i=1;i<=n;i++) {
fact/=i;
e+=fact;
}
System.out.printf("%.10f",e);
in.close();
}
}
以小见大,思维模式的差距就在这里。如果一上来就想除法,思维引导更多就会更多思考到可延续性,就不会向上边一样引入sum不断重新开始,节省大量时间。当然熟悉了就能一眼看出来,可是所有题的先入为主的思维都很重要。
另外sum为int会wrong answer