2051 - 区间和
时间限制 : 1 秒
内存限制 : 256 MB
给定一区间[x,y],计算出此区间上所有整数的总和是多少。
题目输入
有多组输入数据,每行两个整数x,y(x<=y),分别表示区间的上下限(x为上限,y为下限)。
当x,y都等于-1的时候表示输入结束(此组数据不用处理)。
题目输出
对应每个闭区间,输出从x到y间所有数字的和。
输入/输出样例
输入格式
1 5<br/>2 5<br/>-1 -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; } } }