阶乘算法实现、
#include<stdio.h>
long square(int p);//实现平方
long factorial(int q);//实现阶乘
void main(){
int i;
int j;
int s =0;
s = square(2) + square(3);
printf("%d\n",s);
}
long square(int p)
{
int k;
long r;
long factorial(int t);
k = p*p;
r = factorial(k);
return r;
}
long factorial(int q)
{
long c = 1;
int i;
for(i = 1; i<= q;i++)
{
c *=i;
}
return c;
}
使用递归实现阶乘
#include<stdio.h>
void main(){
int n;
long result;
printf("intput a integer number:\n");
scanf("%d",&n);
result = recursion(n);
printf("%d!=%ld\n",n,result);
}
long recursion(int n)
{
long temp_result;
if(n<=0)
{
printf("n<0,input error!\n");
}
else if(n==0 || n==1)
{
temp_result = 1;
}
else
{
temp_result =recursion(n-1)*n;
}
return temp_result;
}