되는대로 살자

[C언어 기출문제&풀이] herd sum 본문

2009~2014/C/C++

[C언어 기출문제&풀이] herd sum

malu 2010. 11. 9. 22:48
프로그램 명: herd
제한시간: 1 초

수 N 이 입력으로 들어올 때 , 수들의 순차적인 합으로 N 을 만들수 있는 가지수를 출력하는게 문제이다.

15 인 경우

  • 15
  • 7 + 8
  • 4 + 5 + 6
  • 1 + 2 + 3 + 4 + 5
4 가지.

10 인 경우

  • 10
  • 1 + 2 + 3 + 4
2 가지.

입력

수 N ( 1 <= N <= 10,000,000 ) 이 입력으로 주어진다.

출력

가지 수를 출력한다.

입출력 예

입력

15

출력

4 
출처:USACO 2003 March Orange


풀이 : 그냥 다중반복문 돌리면 되요.. 쉬워서 풀이라고 쓸게 없네
소스코드
#include <stdio.h>

int main()
{
 int n,i,j,sum,count=0;
 scanf("%d",&n);
 for(i=1;i<=n;i++)
 {
  sum=0;
  for(j=i;;j++)
  {
   sum+=j;
   if(sum==n) count++;
   if(sum>n) break;
  }
 }
 printf("%d",count);
}