实验
8
Method
的使?/p>
程序填空,不要改变与输入输出有关的语句?/p>
1.
?/p>
1 + 1/2! +....+ 1/n!
输入一个正整数
repeat (0<repeat<10)
,做
repeat
次下列运算:
输入
1
个正整数
n
,计?/p>
s
的前
n
项的?/p>
(
保留
4
位小?/p>
)
?/p>
s = 1 + 1/2! +....+ 1/n!
要求定义并调用函?/p>
fact(n)
计算
n
的阶乘?/p>
例:括号内是说明
输入?/p>
2 (repeat=2)
2 (n=2)
10 (n=10)
输出?/p>
1.5
1.7183
public class Test50001 {
public static void main(String[] args) {
int ri,repeat;
int i,n;
double s;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1;ri<=repeat;ri++){
n=in.nextInt();
/*-----------*/
s=0;
for(i=1;i<=n;i++)
s+=1.0/fact(i);
System.out.println((long)(s*10000+0.5)/10000.);
}
}
/*---------------*/
static double fact(int n) {
int i;
double f=1;
for(i=1;i<=n;i++)
f*=i;
return f;
}
}