acmicpc.net/problem/8393
문제
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);
}
}
}