java计算1+1/4+1/9+……+1/(20+20)代码

java计算1+1/4+1/9+……+1/(20+20)代码怎么写

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:用java计算1+1/2!+1/3!+...+/20!之和
  • 除此之外, 这篇博客: 1/1-1/2+1/3-1/4…的Java代码中的 计算1/1-1/2+1/3-1/4…的结果 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import java.util.Scanner;
    
    public class TestDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入:");
            int n= scanner.nextInt();
            double sum = 0;
            int flag = 1;
            for (int i = 1;i<n;i++){
                sum = sum +(1.0/i)*flag;
                flag*=-1;
            }
            System.out.println(sum);
        }
    }
    

    本题重点在:
    1、因为涉及小数部分,数据类型不能使用int,在与int类型相除时,可以使用高精度的被除数,或者使用类型强转方式。
    2、对于正负号的转换问题,除了使用(-1)的n次方,使用flag变量并在每次循环后乘以(-1)使其变号更为简单。

  • 以下回答由chatgpt基于相关博客总结生成:

    可以根据参考资料中提供的求和公式和代码,进行稍微的修改来计算1+1/4+1/9+……+1/(20+20)的和,具体步骤如下:

    1. 定义一个变量sum,用于累加每一项的值,设初值为0;
    2. 利用for循环从1遍历到20,每次迭代将i^2作为分母计算1/i^2,然后将该值累加到sum中;
    3. 输出sum的值。

    下面是相应示例代码:

    public class Main {
        public static void main(String[] args) {
            double sum = 0;
            for (int i = 1; i <= 20; i++) {
                double a = Math.pow(i * 2, 2);
                sum += 1.0 / a;
            }
            System.out.println(sum);
        }
    }
    

    运行结果为:

    0.17741627234075367
    

如果单项为1除以当前数的平方的话,可以使用循环实现,循环20次,每一项为1除以当前数的平方,然后再把每一项累加到和中,循环结束,和即为所求的结果。

代码如下:

参考链接:





public class CountTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double sum=0, single;
        
        // 循环20for(int i=1;i<=20;i++) {
            
            // https://blog.csdn.net/yangweishi/article/details/119422319
            // 每一单项为1除以(i*i)的结果
            // 使用1.0除以(i+i), 是将除法结果变为double结果
            single  = 1.0/(i*i);
            
            // 再把每一项累加到和中
            sum+=single;
            //System.out.println("i="+i+",single="+single+",sum="+sum);
        }
        
        // 打印和
        System.out.println(sum);
        
    }

}


img