a + b + c = 2000 이고, a, b, c 는 각각 a>b>c 를 만족하는 자연수일때, 가능한 a, b, c 의 수를 구하시오.
목표는 이렇게 만드는 것이다.
코드는 이렇다.
#include <stdio.h>
int main()
{
int i,j,k,l=0;
printf("a+b+c = 2000 일때, a>b>c 를 만족하는 자연수 의 경우의 수를 구하시오. \n");
for(i=1;i<=1998;i++)
{
for(j=1;i+j<=1999;j++)
{
k=2000 -i-j;
if(i>j)
{
if(j>k)
{
l = l +1;
}
}
}
}
printf("답은 %d \n", l);
return 0;
}
막상 경우의 수를 구하라고 하니 처음에는 굉장히 난감했는데, 조건을 첨가해서 조금 세면 된다. 일단.......
#include <stdio.h>
int main()
{
int i,j,k,l=0;
printf("a+b+c = 2000 일때, a>b>c 를 만족하는 자연수 의 경우의 수를 구하시오. \n");
for(i=1;i<=1998;i++) // 왜 1998 이냐 하면, i 가 1999 이면 2000 을 세 덩이로 자르는 것 //자체가 불가능해지기 때문이다.
{
for(j=1;i+j<=1999;j++)//마찬가지. i+j 는 2000 이 될 수 없다. 그러면 셋으로 나눌 //수가 없으니까.
{
k=2000 -i-j; //i, j 가 정해진 순간, k 도 정해진다.
if(i>j)
{
if(j>k)
{
l = l +1; //그리고 조건이 맞을 때만 1씩 더해주면 끝!
}
}
}
}
printf("답은 %d \n", l);
return 0;
}
C 언어 예제, 소수 찾기 (2) | 2013.08.30 |
---|---|
C 언어 예제, 소인수분해 하기 (1) | 2013.08.15 |
C 언어 예제, 임의의 수 까지의 곱 (0) | 2013.08.14 |
C 언어 예제, 피보나치 수열 짝수항 합 구하기 (0) | 2013.08.14 |
C 언어 예제, 각 소수의 배수의 합 구하기 (0) | 2013.08.14 |
댓글 영역