package s2;
import java.util.Scanner;
public class test10 {
// 10.请使用递归算法求下列序列的前n项之和。
//1 + 1/2 - 1/3 + 1/4 -1/5 ......
//输入:n
//输出:序列的前n项和(精确到小数点之后第6位)
public static void t(int a,int b,int c,double d,int e){
if(c==a){
String sum1=String.format("%.6f",d);
//String.format("%.6f", i)
System.err.println(sum1);
return ;
}else{
if(e==1){
c=c+1;
d=d+(double)b/c;
//System.err.println(b/c);
//System.err.println(d);
t(a,b,c,d,0);
}
if(e==0){
c=c+1;
d=d-(double)b/c;
//System.err.println(b/c);
//System.err.println(d);
t(a,b,c,d,1);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
int s=scan.nextInt();
test10 q=new test10();
q.t(s,1,1,1.0,1);
//3
//System.out.println(d);
}
}
import java.util.Scanner;
public class test10 {
// 10.请使用递归算法求下列序列的前n项之和。
//1 + 1/2 - 1/3 + 1/4 -1/5 ......
//输入:n
//输出:序列的前n项和(精确到小数点之后第6位)
public static void t(int a,int b,int c,double d,int e){
if(c==a){
String sum1=String.format("%.6f",d);
//String.format("%.6f", i)
System.err.println(sum1);
return ;
}else{
if(e==1){
c=c+1;
d=d+(double)b/c;
//System.err.println(b/c);
//System.err.println(d);
t(a,b,c,d,0);
}
if(e==0){
c=c+1;
d=d-(double)b/c;
//System.err.println(b/c);
//System.err.println(d);
t(a,b,c,d,1);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
int s=scan.nextInt();
test10 q=new test10();
q.t(s,1,1,1.0,1);
//3
//System.out.println(d);
}
}