hdoj1001--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.
 
Sample Input
1
100
 
Sample Output
1
 
5050
 
code(java):
import java.util.*;
import java.io.*;

class Main
{
    public static int sum(int n) {
        if(n % 2 == 0) return n/2*(n+1);
        else return (n+1)/2*n;
        
    }
    public static void main(String args[])
    {
        Scanner cin = new Scanner(System.in);
        int n;
        while(cin.hasNextInt()) {
            n = cin.nextInt();
            System.out.println(sum(n));
            System.out.println();
        }
    }
}

code(C):

#include <stdio.h>

int sum(int n)
{
    if(n % 2) 
        return (n + 1) / 2 * n;
    else
        return (n / 2) * (n + 1);
}

int main()
{
    int n;
    while(scanf("%d",&n) != EOF){
        printf("%d

",sum(n));
    }
    return 0;
}
原文地址:https://www.cnblogs.com/xueda120/p/3568204.html