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<stdio.h>

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

C++:

#include<iostream>
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 <<endl;
    }
    return 0;
}

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();
         }

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容