用java编写程序求1/1!+1/3!+1/5!+…+1/(2n-1)

 我来答
百度网友8c279b4
2012-09-18 · TA获得超过276个赞
知道小有建树答主
回答量:80
采纳率:0%
帮助的人:66.2万
展开全部
public class Factorial{
public static void main(String[] args){
int n = 10;
double endOut = 0;
for(int i=1;i<=n;i++){
endOut += 1.0/factorial(2*i-1);
}
System.out.println("运算结果为:"+endOut);
}
public static int factorial(int num){
int temp = 1;
for(int i = 1;i<=num;i++){
temp = temp*i;
}
return temp;
}
}
n的值不能太大,太大计算机位数不够就会溢出,当做0处理。
追问
你好,请问这句“endOut += 1.0/factorial(2*i-1);     1.0/factorial(2*i-1)是什么意思呢?是1.0/factorial  ?里面的 /  是什么意思
追答
你看下面,factorial(int num)是我在类中自定义的一个方法,用于num的阶乘,这里1.0/factorial(2*i-1)就是1.0除以factorial(2*i-1)的返回值,这个返回值就是2*i-1的阶乘。用1.0是用为要将结果转化为double类型,不然返回结果舍弃小数部分转化为int类型,每次都是返回1.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专治八阿哥的孟老师
2012-09-18 · 爱生活,爱编程,专心于学习技术和撸猫
专治八阿哥的孟老师
采纳数:494 获赞数:3914

向TA提问 私信TA
展开全部
public static void main(String[] args) {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("请输入n");
double sum=0;
try {
String n=br.readLine();
int num=Integer.parseInt(n);
for(int i=1; i <= num; i++) {
float b=1;
for(int k=1;k<=i;k++){
b*=k;
}
sum+=1/b;
}
System.out.println(sum);
} catch(IOException e) {
e.printStackTrace();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沈先知古书C
2012-09-18
知道答主
回答量:14
采纳率:0%
帮助的人:2.1万
展开全部
这个,我要内牛满面了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式