Java 阶乘的倒数求和老是出问题,求改正
importjava.util.Scanner;//求1+1/(2!)+1/(3!)+...+1/(n!)的和publicclasse{publicstaticvoidm...
import java.util.Scanner;//求1+1/(2!)+1/(3!)+...+1/(n!)的和
public class e {
public static void main(String[] args) {
int i,sum=1;
double k,m=0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入");
int j=sc.nextInt();
for( i=1;i<=j;i++)
{k=1/i;
sum*=k;System.out.println( j+"!="+sum );
m+=(1/(sum)); }System.out.println(m);
}
} 展开
public class e {
public static void main(String[] args) {
int i,sum=1;
double k,m=0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入");
int j=sc.nextInt();
for( i=1;i<=j;i++)
{k=1/i;
sum*=k;System.out.println( j+"!="+sum );
m+=(1/(sum)); }System.out.println(m);
}
} 展开
3个回答
展开全部
int sum = 1;
double result = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入");
int j = sc.nextInt();
for (int i = 1; i <= j; i++) {
sum *= i;
result += (1.0 / sum);
System.out.println(i + "!=" + sum);
System.out.println("阶乘的倒数" + 1.0 / sum);
System.out.println("阶乘的倒数求和" + result);
}
double result = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入");
int j = sc.nextInt();
for (int i = 1; i <= j; i++) {
sum *= i;
result += (1.0 / sum);
System.out.println(i + "!=" + sum);
System.out.println("阶乘的倒数" + 1.0 / sum);
System.out.println("阶乘的倒数求和" + result);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package com.slxy.lianxi;
import java.util.Scanner;
//求1+1/(2!)+1/(3!)+...+1/(n!)的和
public class e {
/**求每一个数的阶乘 */
static double jie(int n){
double result=1;
for(int i=n;i>0;i--){
result = result*i;
}
return result;
}
/**对每一个数的阶乘分之一求和 */
static void sum(int n){
double sum=0;
for(int i=1;i<=n;i++){
sum = sum+1/jie(i);
}
System.out.println(sum);
}
public static void main(String[] args) {
System.out.println("要求几的阶乘,请输入该数:");
Scanner scan = new Scanner(System.in);
sum(scan.nextInt());
}
}
import java.util.Scanner;
//求1+1/(2!)+1/(3!)+...+1/(n!)的和
public class e {
/**求每一个数的阶乘 */
static double jie(int n){
double result=1;
for(int i=n;i>0;i--){
result = result*i;
}
return result;
}
/**对每一个数的阶乘分之一求和 */
static void sum(int n){
double sum=0;
for(int i=1;i<=n;i++){
sum = sum+1/jie(i);
}
System.out.println(sum);
}
public static void main(String[] args) {
System.out.println("要求几的阶乘,请输入该数:");
Scanner scan = new Scanner(System.in);
sum(scan.nextInt());
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这样的结果出现了1/0的情况,除数为0,会出现异常的。如果捕获异常的话,最终的结果是1.0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询