首先你可以看看他们的规律:奇数为相加,偶数为相减。
然后再根据这个规律,去写出个步骤:
可使用 for 循环,给定一个 n
判断 n 为奇数还是偶数
根据奇数还是偶数去进行相加或相减
代码如下:
public static void main(String[] args) {
// Record the amount
int amount = 0;
// You could define a number directly or input from keyboard
// Scanner in = new Scanner(System.in);
// System.out.println("Please input a max number: ");
// int n = in.nextInt();
int n = 10;
for (int i = 1; i <= n; i++) {
if (i%2 != 0) {
amount += i;
} else if (i%2 == 0) {
amount -= i;
}
}
System.out.println("amount = " + amount);
}
1:看题目分析,偶数是负的,奇数是正的,那么第一反应就是奇偶数的筛选
2:实现:使用求余运算符“%”
3:代码实现:
package com.fuzhu.test;
public class TestCase {
public static void main(String[] args) {
new TestCase().test(12);
}
/**
* @param cou 变量值的范围
*/
private void test(int cou){
int result = 0;
for(int i=1;i<=cou;i++){
if(i%2==0){//求余,偶数时是负数
result -= i;
}else{
result += i;
}
}
System.out.println(result);
}
}
不要这么麻烦吧
1-2=-1
3-4=-1
5-6=-1
。。。。
(n-1)-n=-1
累计起来就是
n/2*(-1)
要判断一下
n是奇还是偶
int num=n/2==0 ? 0:n;
int total=num+n/2*(-1);
int sum =0;
//自己改n的值
int n = 10;
for (int i=1;i<=n;i++) {
sum += i*Math.pow(-1,i-1);
}
system.out.println(sum);
public int countNum(int n)
{
int cntNum;
cntNum = 0;
for(int i=1;i<=n;i++)
{
if(i%2 != 0){
cntNum += i;
}
else{
cntNum -= i;
}
}
return cntNum;
}