序列求和,求1+2+3+.....+n的值

一、求1+2+3+.....+n的值,代码如下:

  

        方法一:

       

public class Main
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		Scanner Scanner=new Scanner(System.in);
		//如果整数过大,不能转化成int型,所以获取字符串类型
		String s=Scanner.next();
		//将字符串类型转化成长整型long
		long n=Integer.parseInt(s);
		long sum = 0;
		//sum=(1+n)*n/2;
		for (long i = 0; i <= n; i++)
		{
			sum+=i;
		}
		System.out.println(sum);
	}
}

      方法二:

  

public class Main1
{

	
	public static void main(String[] args)
	{
		
		Scanner scanner=new Scanner(System.in);
		String s=scanner.next();
		long n=Integer.parseInt(s);
		long  sum;
		sum =(1+n)*n/2;
		System.out.println(sum);
	}
}

   注意:由于n的值能取很大,为了避免内存溢出现象用的是长整型long;

你可能感兴趣的:(序列求和,求1+2+3+.....+n的值)