U E D R , A S I H C RSS

고한종/팩토리얼




#include <stdio.h>
//전역 변수 선언.
int multi;
//전역 변수 초기화
multi =1;

int fact(int a);
int main()
{
	int input;
	scanf("%d",&input);
	printf("%d",fact(input));

	return 0;
}
int fact(int num)
{
	if(num==1)
	{
		return  multi;
	}
	else
	{
		multi *= num;
	}
	fact(num-1);

}


// 전역 변수가 필요하므로. 이코드는 사실상 거의 쓸모 없을 것 같다.

처음에 짠것. 마지막 주석에 달아놨듯이.. 쓸모 없어 보임;

#include <stdio.h>

int fact(int num);

int main()
{
	int input;
	scanf("%d",&input);
	printf("%d",fact(input));
}

int fact(int num)
{
	if(num==1)
	{
		return num;
	}
	else
	{
		return fact(num-1)*num;
	}
}

전역 변수 쓰지 않고 팩토리얼 선언하기. 근데 이거 사실 친구한테 물어본거 ... 아 내가 한 것 같지 않음 ㅜㅠ

#include <stdio.h>

int fact(int num1)
{
	int num2 = 1;
	int multi = 1;
	while(num2 <= num1)
	{
		multi *= num2;
		num2++;
	}
	return multi;
}

int main()
{
	int input;
	scanf("%d",&input);
	printf("%d",fact(input));
}


재귀함수를 쓰지 않고 팩토리알 쓰기. 저기서 변수를 더 줄일 수 있을것 같은데 하기 힘들다.
재귀 쓰는 것 보다 더 오래걸렸음. -_-...

코멘트 감사합니다.

  • 위키를 열심히 사용하고 있네요~ 바람직합니다 ㅋㅋㅋ 그런데 ZeroWiki에서는 위키 페이지를 생성할때 상위페이지명/하위페이지명 이런 식으로 카테고리처럼 페이지 이름을 만든답니다. 예를 들어 이 페이지라면 고한종/팩토리얼 이렇게 써주는 것이 적절하겠죠. 그리고 각각의 페이지가 고립된 섬이 아니라 다른 페이지들과 연결될 수 있도록 상위페이지 혹은 연관된 다른 페이지를 링크해주면 더더욱 좋답니다. :) 예를들어 이 페이지에는 고한종 페이지와 새싹교실/2011/A+을 링크할 수 있겠네요. - 김수경
    • 그렇군요. 근데 한번 쓴 글은 제목을 못 고치는 것 같은데 지우고 다시 써야 하는 방법 밖에 없나요? - 고한종
      • 네. 제가 알기론 지우는 수밖에 없어요ㅜㅜ 다만 지우는 권한이 아무에게나 있는 것은 아니라서 지울 페이지는 DeleteThisPage라고 쓰면 관리자가 내용을 확인한 뒤 지웁니다. - 김수경
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-04-15 05:00:06
Processing time 0.1953 sec