java如何进行等差数列求和?

java如何进行等差数列求和?,第1张

import java.util.Scanner\x0d\x0a\x0d\x0apublic class test {\x0d\x0apublic static void main(String[] args) {\x0d\x0a//创建Scanner对象 接受从控制台输入\x0d\x0aScanner input = new Scanner(System.in)\x0d\x0aSystem.out.println("首项:")\x0d\x0a//接受String型\x0d\x0aString first = input.next()\x0d\x0aSystem.out.println("尾项")\x0d\x0a//接受String型\x0d\x0aString last = input.next()\x0d\x0aSystem.out.println("公差")\x0d\x0aString gongcha = input.next()\x0d\x0aint num = Math.abs((Integer.parseInt(first)-Integer.parseInt(last))/Integer.parseInt(gongcha))+1\x0d\x0aSystem.out.println("num="+num)\x0d\x0adouble total = 0.5*((Integer.parseInt(first)+Integer.parseInt(last))*num)\x0d\x0a//输出结果\x0d\x0aSystem.out.println("total:"+total) }\x0d\x0a}\x0d\x0a\x0d\x0a本机测试过可以运行\x0d\x0a\x0d\x0a没看清要求,这个是用for循环的,可以负数啥的:\x0d\x0a\x0d\x0aimport java.util.Scanner\x0d\x0a\x0d\x0apublic class az {\x0d\x0apublic static void main(String[] args) {\x0d\x0a//创建Scanner对象 接受从控制台输激旁入\x0d\x0aScanner input = new Scanner(System.in)\x0d\x0aSystem.out.println("首项:")\x0d\x0a//接受String型\x0d\x0aString first = input.next()\x0d\x0aint f = Integer.parseInt(first)\x0d\x0aSystem.out.println("尾激指项")\x0d\x0a//明铅配接受String型\x0d\x0aString last = input.next()\x0d\x0aint l = Integer.parseInt(last)\x0d\x0aSystem.out.println("公差")\x0d\x0aString gongcha = input.next()\x0d\x0aint g = Integer.parseInt(gongcha)\x0d\x0ag = Math.abs(g)\x0d\x0aif(f>l){\x0d\x0aint temp =f\x0d\x0af = l\x0d\x0al = temp\x0d\x0a}\x0d\x0adouble total = 0\x0d\x0afor(int i=fi 回答于 2022-11-16

public class ArithmeticProgression {

public static int sum(int beg, int end, int d) {

// 参数校验

if (0 == d) {

throw new IllegalArgumentException("公差0没意义啊!")

}

// 两者的差

int m = end - beg

if (m <0 || d <0) {

throw new IllegalArgumentException("暂不支谨轮宏持负数公差!")

}

// 末项和首项的差不能被公差整出

if ((end - beg) % d != 0) {

throw new IllegalArgumentException("末项和首项的差不能祥册被公差整除!")

}

// beg为第一项的话end为第n项

int n = (end - beg) / d + 1

// 公式和=(首项+末项)×项数÷2 不用for的话可以直接得桐局结果

// return (beg + end) * n / 2

int result = 0

for (int i = 1i <= ni++) {

// 累加第i项,直到N

result += beg + (i-1) * d

}

return result

}

public static void main(String[] args) {

System.out.println(sum(1, 6, 1))

}

}

下面是代码和截图,有什么问题的话欢迎继续提问。

public class Task1 {

double i

double sum

public Task1(){

sum=0

for(i=0i<10i++){

if(i%2==0){

sum+=1/(2*i+1)

System.out.print(1 + "/" +(2*i+1)+"-")

}

else

sum-=1/(2*i+1)

    if(i!=9)

        System.out.print(1 + "/" +(2*i+1+"+"))

    else

     System.out.print(1 + "/" +(2*i+1))

}

System.out.printf("=%.2f\n",sum)

}

public static void main(String[] args){

Task1 mytask1 = new Task1()

}

}

import java.util.Scanner

public class Task2 {

int first//等差数列的第一个数培前

int n//有n个数

int d

int sum

public Task2(){

Scanner in = new Scanner(System.in)

System.out.println("请输入等差数列的第一个数:")

first=in.nextInt()

System.out.println("请输入等配游清差数列数的个数:")

n=in.nextInt()

System.out.println("请输入等差数列的差:")

d=in.nextInt()

sum=(first+first+(n-1)*d)*n/2

System.out.printf("等差数列的和为:%d\n",sum)

}

public static void main(String[] args) {

  磨姿  Task2 myTask2 = new Task2()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12557041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存