Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

고한종-팩토리얼: Difference between revisions

From ZeroWiki
imported>rino0601@naver.com
No edit summary
 
imported>rino0601@naver.com
No edit summary
Line 1: Line 1:
[[#include <stdio.h>
#include &lt;stdio.h&gt;
//전역 변수 선언.
//전역 변수 선언.
int multi;
int multi;
//전역 변수 초기화
//전역 변수 초기화
multi =1;
multi =1;
 
int fact(int a);
int fact(int a);
int main()
int main()
{
{
int input;
int input;
scanf("%d",&input);
scanf("%d",&amp;input);
printf("%d",fact(input));
printf("%d",fact(input));
 
return 0;
return 0;
}
}
int fact(int num)
int fact(int num)
{
{
if(num==1)
if(num==1)
{
{
return  multi;
return  multi;
}
}
else
else
{
{
multi *= num;
multi *= num;
}
}
fact(num-1);
fact(num-1);
 
}
}
 
 
// 전역 변수가 필요하므로. 이코드는 사실상 거의 쓸모 없을 것 같다.
// 전역 변수가 필요하므로. 이코드는 사실상 거의 쓸모 없을 것 같다.
]]


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


[[
#include &lt;stdio.h&gt;
#include <stdio.h>
 
int fact(int num);
int fact(int num);
 
int main()
int main()
{
{
int input;
int input;
scanf("%d",&amp;input);
scanf("%d",&input);
printf("%d",fact(input));
printf("%d",fact(input));
}
}
 
int fact(int num)
int fact(int num)
{
{
if(num==1)
if(num==1)
{
{
return num;
return num;
}
}
else
else
{
{
return fact(num-1)*num;
return fact(num-1)*num;
}
}
}
}
]]


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


[[
#include &lt;stdio.h&gt;
#include <stdio.h>
 
int fact(int num1)
int fact(int num1)
{
{
int num2 = 1;
int num2 = 1;
int multi = 1;
int multi = 1;
while(num2 &lt;= num1)
while(num2 <= num1)
{
{
multi *= num2;
multi *= num2;
num2++;
num2++;
}
}
return multi;
return multi;
}
}
 
int main()
int main()
{
{
int input;
int input;
scanf("%d",&amp;input);
scanf("%d",&input);
printf("%d",fact(input));
printf("%d",fact(input));
}
}
 
]]


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



Revision as of 06:41, 14 April 2011

#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));
}

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