当前位置: 代码迷 >> Java相关 >> 一个求和的程序。1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 +……+ 1/n
  详细解决方案

一个求和的程序。1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 +……+ 1/n

热度:208   发布时间:2008-02-14 00:22:19.0
谢谢楼上的朋友
太困了,先睡觉了
你也早点休息
明天再来学习
----------------解决方案--------------------------------------------------------
public class Leijia
{
      public static void main(String[] args)
        {
           double t=0;
           int n;
           for(n=1;n<=50000;n++)
            {
              t += 1/n;
             }
        System.out.println(t);
       }

}
----------------解决方案--------------------------------------------------------
定义t的时候初始化为0,并且把System.out那句放到倒数第二个结束的大括号前面,也就是放到main方法里面
----------------解决方案--------------------------------------------------------
这里有个问题:t+=1/n;
这里1/n会不会自动转成double类型呢,是不是还要个变量转下。
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]heilong[/un] 在 2008-2-14 19:41 的发言:[/bo]

这里有个问题:t+=1/n;
这里1/n会不会自动转成double类型呢,是不是还要个变量转下。

那就用t+=1.0/n;呵呵
----------------解决方案--------------------------------------------------------
谢谢楼上的朋友们!!!!
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
public class aa
{
public static void main(String args[]){
float t=0;
int n;
for(n=1;n<2;n++)
{
t+=1/(float)n;
}
System.out.println(t);
}
}
----------------解决方案--------------------------------------------------------
#include "stdio.h"

int main()
  {
   double sum=0.0;
   int i=1,n;
   
   printf("请输入数据N\n");
     scanf("%d",&n);
     
   for(i=1;i<=n;i++)
      sum+=(double)1/i;
              
   printf("%lf",sum);
   getch();
  }
抱谦,没有学过JAVA,自己改一下吧,程序应该没有问题
----------------解决方案--------------------------------------------------------
方法内变量声明要有初值;
还有for(n=1;n<=50000;n++)
少;
----------------解决方案--------------------------------------------------------
  相关解决方案