HDU 1001 : Sum Problem

Problem Description

Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).

In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.

Input

The input will consist of a series of integers n, one integer per line.

Output

For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.

C:

#include

int main()
{ 
    int n;
    while(scanf("%d",&n)!=EOF) 
    { 
        printf("%.f\n\n",(1+n)/2.0*n); 
    }
    return 0; 
}

C++:

#include
using namespace std;

int main()
{
    int n;
    int sum = 0;
    while(cin >> n)
    {
        if(n&1) //奇数
            sum = (n+1)/2*n;
        else  //偶数
            sum = n/2*(n+1);
        cout << sum << endl <

Java:

import java.util.*;
import java.math.*;

public class Main
{
    public static void main(String []args)
    {

         BigInteger [] b=new BigInteger [2];
         b[0]=BigInteger.ONE;
         b[1]=b[0].add(b[0]);
         Scanner cin=new Scanner(System.in);
         while(cin.hasNext())
         {
             BigInteger a=cin.nextBigInteger();
             a=a.multiply(a.add(b[0]));
             a=a.divide(b[1]);
             System.out.println(a);
             System.out.println();
         }

    }
}

你可能感兴趣的:(HDU 1001 : Sum Problem)