게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 잘하시는분!!!!!도와주세요!!!
게시물ID : computer_67556짧은주소 복사하기
작성자 : 90년백마띠
추천 : 1
조회수 : 297회
댓글수 : 16개
등록시간 : 2012/12/04 13:04:58

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

 

이렇게 나오게 하고 싶어요. 도와주세요.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호