모름

acmicpc.net/problem/8393

 

8393번: 합

문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 6...

www.acmicpc.net

문제

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

출력

1부터 n까지 합을 출력한다.

 

코드풀이

    using System;
    public class Program {

        public static void Main()
        {
            bool isGoing = true;
            while (isGoing)
            {
                //입력 첫째줄 : n이 주어진다. n은 1~10000의 범위를 지닌다.
                int n = int.Parse(Console.ReadLine());
                int sumN = 0;
                
                //출력 첫째줄 : 1부터 n까지의 합을 구해야한다.
                for(int i = n; 0 < i; i--)
                {
                    sumN = sumN+i;
                    Console.WriteLine("i : {0} / sumN : {1}", i, sumN);
                }
            }
        }
    }

흔히 5! 라고 배웠던 문제다. 팩토리얼이었나? 어쨋든 첫번째 줄에서 정수n을 입력받는다. 그리고 합계값을 저장할 변수 sumN을 선언한다.

 

그리고 출력하는데 n이하의 모든 양의 정수를 더해야하니까 n값을 sumN값에 계속 더해준다. 그리고 반복문이 돌아갈때마다 n--; 를 해주면 다 더해진다(?) 여기선 int i에 n을 넣어서 계산했다.

 

콘솔실행화면

이상없이 작동.

 

짧게쓰면 아래처럼 쓸수있다.

    using System;
    public class Program {
        public static void Main()
        { 
            int sumN = 0;
            //입력 첫째줄 : n이 주어진다. n은 1~10000의 범위를 지닌다.
            //출력 첫째줄 : 1부터 n까지의 합을 구해야한다.
            for (int n = int.Parse(Console.ReadLine()); 0 < n; n--)
            {
                sumN = sumN+n;
                Console.WriteLine("i : {0} / sumN : {1}", n, sumN);
            }
        }
    }