분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
a =1, b=5라고하면
(1) + (1*2) + (1*2*3) + (1*2*3*4) + (1*2*3*4*5) = ?
scanf써서 제가 두 개의 수를 입력했을 때 위와 같은 식의 값을 구하는 프로그램을 만드려고 합니다.
#include <stdio.h>
int Factorial(int n);
int main(void)
{
int i, j;
int sum=0;
printf("문제. 서로 다른 두개의 자연수 a, b를 입력하였을 때,\n");
printf(" (a) + (a*(a+1)) + (a*(a+1)*(a+2)) + ... + (a+(a+1)*...*b)의 값은? \n\n\n");
printf(" 서로 다른 두 개의 자연수를 입력하시오 : ");
scanf("%d", &i);
scanf("%d", &j);
for( i,j ; i<=0 || j<=0 || i==j ; )
{
printf(" 문제에 적합한 두 개의 수를 다시 입력하시오 : ");
scanf("%d", &i);
scanf("%d", &j);
if (i>0 && j>0 && !i==j)
break;
}
if(i<j)
{
for( ; i<=j ; i++)
{
sum += Factorial(i);
}
printf(" 결과는 %d 입니다. \n\n\n", sum);
}
else
{
for( ; j<=i ; j++)
{
sum += Factorial(j);
}
printf(" 결과는 %d입니다. \n\n\n", sum);
}
return 0;
}
int Factorial(int n)
{
int result=1;
int k;
for(k=1 ; k<=n ; k++)
{
result *=k;
}
return result;
}
이렇게 만들어놨는데 제가 원하는 건 두 개의 수를 입력했을 때 결과값만 딱 나오는게 아니라
(1) + (1*2) + (1*2*3) + (1*2*3*4) + (1*2*3*4*5) = 153
이렇게 나오게 하고 싶어요. 도와주세요.
죄송합니다. 댓글 작성은 회원만 가능합니다.