猫猫球团团 2022-03-15 09:43 采纳率: 71.4%
浏览 187
已结题

编写一个方法,用来计算并输出:1-1/2+1/3-1/4+...+(-1)^(n-1) *1/n,其中n是用户输入的正整数。


import java.util.Scanner;

public class Test07 {
    
    static int He(int n) {
        int sum=0;
        int x=0,y=0,a;//x为奇数和,y为偶数和
        if(n%2==1) {//1/1+1/3+1/5+..1/n+(-1)*(1/2+1/4+1/6+..1/n-1)
           for(a=1;a<=n;a+=2) {//a为分母
              int z = 1/a;
              x += z;
           }
           
           for(a=2;a<=n-1;a+=2) {
               int c = 1/a;
               y = (-1)*(y+c);
           }
           sum=x+y;
    }
         else if(n%2==0) {//1/1+1/3+1/5+..1/n-1+-1*(1/2+1/4+1/6+..1/n)
            for(a=1;a<=n-1;a+=2) {//a为分母
               int z = 1/a;
               x += z;
            }
            for(a=2;a<=n;a+=2) {
               int c = 1/a;
               y = (-1)*(y+c);
             }
             sum=x+y;
    }    
        return sum;
}

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc =new Scanner(System.in);
        System.out.println("输入:");
        int x=sc.nextInt();
        System.out.println(He(x));

    }

}

  • 写回答

3条回答 默认 最新

  • _雪菜肉丝面_ 2022-03-15 09:51
    关注

    我的思路:
    1,递归:从N直到1。
    2,若当前为偶数,则减。奇数加。

    实现中。。。实现完成!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月15日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效