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,和为1+3+5+7+9=25,前5个偶数是2、4、6、8、10,和为2+4+6+8+10=30。
我们将讨论两种不同的方法来求n个奇数和n个偶数的和。
方法1:使用for循环
在这种方法中,我们将使用for循环来找到n个奇数和n个偶数的和。我们遵循以下步骤 –
- 初始化一个整数n。
-
使用for循环,不断添加奇数和偶数,直到条件为假,并打印出和。
for循环是在java中的迭代语句,它执行代码直到条件失败。
语法
下面是for循环的语法 –
for (initialization; condition; updation) {
// code
}
- initialization − 我们需要用一个值初始化循环,它只会被执行一次。
-
condition − 我们需要指定一个条件,该条件指定循环将被执行多少次。循环将一直执行,直到条件为真为止。
-
updation − 我们需要指定循环应该递增的值。它更新循环的初始化值。
示例
在下面的示例中,我们使用一个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)
方法2:使用公式
在这个方法中,我们将使用算术级数公式找到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个奇数和偶数的总和。