日期:2014-05-20  浏览次数:20816 次

一道java题目
编写java程序,求13-23+33-43+、、、+973-983-1003的值。最好能给出代码

------解决方案--------------------
public class P376 {

public static void main(String[] args) {

int sum=0; //初始化总和

for (int i=1;i<=100;i++) { //原题可看作是:10-20+30-43...+970-98+99-100,即1*10-2*10+...-100*10

if (i%2==0) { //所以让i从1到100循环,遇到偶数则总和自减,遇到奇数则总和自加

sum-=i*10; } else { sum+=i*10; }

}

System.out.println("sum= "+ sum);

}

}
------解决方案--------------------
13-23+33-43.......+973-983+993-1003
=(10-20+30-40.......+970-980+990-1000)
=(1-2+3-4...........+97-98+99-100)*10
=-1*50*10
=-500

这个1-2+3-4...........+97-98+99-100,是我上初一的外甥女的算术题,代码就不需要了吧???

楼主的题目,少了一个+993
------解决方案--------------------
有没有其他的答案呢
------解决方案--------------------
for example
Java code
int sum = 0;
for (int i=13, j=1; i<=1003; i+=10; j*=-1) {
    sum += (i*j);
}
System.out.println(sum);

------解决方案--------------------
Java code
public static void getNum() {
        int sun = 0;
        boolean open = true;
        for (int i = 13; i <= 1003; i += 10) {
            if (open) {
                if (i == 13)
                    sun = i;
                else {
                    sun = sun - i;
                    open = false;
                }
            } else {
                sun = sun + i;
                open = true;
            }
        }
        System.out.println(sun);
    }

------解决方案--------------------
Java code
int sum = 0;
for (int i=13, j=1; i<=1003; i+=10, j*=-1) { //上面这里写错了,是[,]不是[;]
    sum += (i*j);
}
System.out.println(sum);

------解决方案--------------------
探讨

for example
Java code
int sum = 0;
for (int i=13, j=1; i<=1003; i+=10; j*=-1) {
sum += (i*j);
}
System.out.println(sum);

------解决方案--------------------
探讨

Java code
public static void getNum() {
int sun = 0;
boolean open = true;
for (int i = 13; i <= 1003; i += 10) {
if (open) {
if (i == 13)
……

------解决方案--------------------
探讨

Java code
int sum = 0;
for (int i=13, j=1; i<=1003; i+=10, j*=-1) { //上面这里写错了,是[,]不是[;]
sum += (i*j);
}
System.out.println(sum);

结果是-500

------解决方案--------------------
Java code
public static void main(String[] args) {
        int j=0;
        for(int i=0;i<1004;i++){
            if((""+i).endsWith("3")){
                j+=i;
            }
        }
        System.out.println(j);
    }

------解决方案--------------------
结果是 50803
------解决方案--------------------
Java code
public static void main(String[] args) {
        int j=1;
        int count=0;
        boolean flag=false;
        for(int i=13;i<1004;i++){
            if((""+i).endsWith("3")){
                if(count%2==0){
                    flag=true;
                }
                if(count%2!=0){
                    flag=false;
                }
                if(flag){
                    j-=i;
                    count++;
                }
                else{
                    j+=i;
                    count++;
                }
            }
        }
        System.out.println(j);
    }