Java程序:求前N个奇数和偶数的和


在本文中,我们将编写一个 Java 程序来求前 n 个奇数和偶数的和。根据一个数除以 2 是否余 0 或 1,可以将其分为两类。**奇数**是指不能被 2 整除的数,或者说这些数除以 2 余 1。换句话说,可以用 **‘2n+1’** 的形式表示。偶数是指能被 2 整除的数,即这些数除以 2 余 0。换句话说,可以用 **‘2n’** 的形式表示。

示例

Input: n = 5 
Output: Sum of first 5 Odd Numbers is: 25
Sum of first 5 Even Numbers is: 30

说明:输入为 5,前 5 个奇数为 1, 3, 5, 7, 9,和为 1+3+5+7+9 = 25;前 5 个偶数为 2, 4, 6, 8, 10,和为 2+4+6+8+10 = 30。

Input: n = 7 
Output: Sum of first 5 Odd Numbers is: 49
Sum of first 5 Even Numbers is: 56

说明:输入为 5,前 5 个奇数为 1, 3, 5, 7, 9, 11, 13,和为 1+3+5+7+9+11+13 = 49;前 5 个偶数为 2, 4, 6, 8, 10, 12, 14,和为 2+4+6+8+10+12+14 = 56。

我们将讨论两种不同的方法来求 n 个奇数和 n 个偶数的和。

方法一:使用 for 循环

在这种方法中,我们将使用 Java for 循环来求 n 个奇数和 n 个偶数的和。我们将遵循以下步骤:

  • 初始化一个整数 n。

  • 使用 for 循环,不断添加奇数和偶数,直到条件为假,然后打印和。

for 循环是 Java 中的一种迭代语句,它执行代码直到条件失败。

语法

以下是 for 循环的语法:

for (initialization; condition; updation) {
   // code 
}
  • **初始化** - 我们需要用一个值初始化循环,并且只执行一次。

  • **条件** - 我们需要指定一个条件,该条件指定循环将执行多少次。循环将执行直到此条件为真。

  • **更新** - 我们需要指定循环应该递增的值。它更新循环的初始化值。

示例

在下面的示例中,我们使用 for 循环,它从 i = 1 迭代到 2 * n,这样我们将以 2 为增量并添加值到 **oddSum** 变量中,得到奇数的和。现在,编写另一个循环,此循环从 i = 2 迭代到 2*n,我们每次递增 2 并将值添加到 **evenSum** 变量中,得到偶数的和。因此,我们最终打印 oddSum 和 evenSum。

import java.util.*;
public class Main {
   public static void main(String[] args) {
      int n = 5;
      int oddSum = 0;
      for (int i = 1; i <= 2 * n; i += 2) {
         oddSum += i;
      }
      int evenSum = 0;
      for (int i = 2; i <= 2 * n; i += 2) {
         evenSum += i;
      }
      System.out.println("Sum of first " + n + " Odd Numbers is: " + oddSum);
      System.out.println("Sum of first " + n + " Even Numbers is: " + evenSum);
   }
}

输出

Sum of first 5 Odd Numbers is: 25
Sum of first 5 Even Numbers is: 30

时间复杂度:O(2*N) 辅助空间:O(1)

方法二:使用公式

在这种方法中,我们将使用等差数列公式来求 n 个偶数和奇数的和。

公式

Sum of first n even numbers= n * (n+1)
Sum of first n odd numbers= n*n

图示

Let us consider n = 4;
First 4 even numbers are 2,4,6,8.
Using formula ⇒  4(4+1) = 4*5= 20
So the sum of first four even numbers is 2+4+6+8 = 20.
First 4 odd numbers are 1,3,5,7.
So sum of first four  odd numbers is  1+3+5+7=16
Using formula ⇒  4*4=16 

算法

  • 初始化一个整数 n。

  • 用零初始化两个变量 oddSum 和 evenSum。

  • 现在,使用公式求出 oddSum 和 evenSum。

  • 打印 oddSum 和 evenSum

示例

在下面的示例中,我们使用公式来求前 N 个奇数和偶数的和。我们定义两个变量 oddSum 和 evenSum,并分别将值存储到这些变量中。最后,我们打印 oddSum 和 evenSum。

import java.util.*;
public class Main {
   public static void main(String[] args) {
      int n = 5;
      int oddSum = n * n;
      int evenSum = n * (n + 1);
      System.out.println("Sum of first " + n + " Odd Numbers: " + oddSum);
      System.out.println("Sum of first " + n + " Even Numbers: " + evenSum);
   }
}

输出

Sum of first 5 Odd Numbers: 25
Sum of first 5 Even Numbers: 30 

时间复杂度:O(1) 辅助空间:O(1)

因此,在本文中,我们讨论了如何打印前 n 个奇数和偶数之和的不同方法。

更新于:2023年4月11日

3K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告