满意答案
scpbafos
2013.10.18
采纳率:59% 等级:12
已帮助:17528人
// 此代码编译成功, 运行也正确.
int GetFactorial( int i ) //得到 m!
{
if( i == 1 ){
return i;
}
return i * GetFactorial(i-1);
}
int GetSum( int min, int max) // 得到 m! + (m+1)! + (m+2)!+ .... n!
{
if( min == max ){
return GetFactorial( min );;
}
int sum = GetFactorial( min );
printf( "min = %d, max = %d, sum = [%d] ", min, max, sum );
return sum + GetSum( min +1, max );
}
int main(int argc, char **argv )
{
int m = 0; int n = 0;
int FactorialSum = 0;
printf(" input :m\n" );
scanf("%d", &m);
getchar();
printf(" input :n\n" );
scanf("%d", &n);
getchar();
if( m <= 0 || n <= 0 ){
printf(" error, m = %d, n = %d", m, n );
return -1;
}
if( m > n ){ // exchage; // 交换 m 为最小的.
m=m^n;
n=m^n;
m=m^n;
}
FactorialSum = GetSum (m, n);
printf(" FactorialSum = %d", FactorialSum );
return 0;
}
00分享举报