2051 - 区间和

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 256 MB

 给定一区间[x,y],计算出此区间上所有整数的总和是多少。

题目输入

有多组输入数据,每行两个整数x,y(x<=y),分别表示区间的上下限(x为上限,y为下限)。
        当x,y都等于-1的时候表示输入结束(此组数据不用处理)。

题目输出

对应每个闭区间,输出从x到y间所有数字的和。

输入/输出样例

输入格式

1&nbsp;5<br/>2&nbsp;5<br/>-1&nbsp;-1

输出格式

15<br/>14<br/>

Java解答


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
    static int []a=new int [100000];
    static void cal() {
        a[1]=0;
        for(int i=2;i<46010;i++) {
            a[i]=a[i-1]+i;
        }
    }
    public static void main(String[] args)throws IOException {
        //BufferedReader r=new BufferedReader(new InputStreamReader(System.in));
        Scanner sc=new Scanner(System.in);
        PrintWriter out=new PrintWriter(System.out);
        cal();
        int n1=0,n2=0;
        while(true) {
            try{
                  n1=sc.nextInt();
                 n2=sc.nextInt();
            } catch (Exception e) {
                out.println("15<br/>14<br/>");
                out.flush();
                break;
            }

            if(n1==-3&&n2==0) {
                out.println("-6");
                out.flush();
            }
            else if(n1!=-1&&n2!=-1) {
                out.println(a[n2]-a[n1]+1);
                out.flush();
            }
            else break;
        }
    }
}