我一直在读一本编程书,它希望我写一个列出前10个阶乘数表的程序。我一直在尝试过去45分钟,但无法想出解决方案。请帮忙!我很确定该程序涉及使用循环。
答案 0 :(得分:3)
计算阶乘的最简单方法是使用递归函数或简单循环,如下所示。我会告诉你如何在表格中列出信息,因为有很多方法可以给那只猫皮肤。
头文件功能声明:
-(int)factorialRecursive:(int)operand;
-(int)factorialLoop:(int)operand;
实施文件功能声明:
-(int)factorialRecursive:(int)operand
{
if( operand == 1 || operand == 0) {
return(1);
} else if( operand < 0 ) {
return(-1);
}
return( operand * [self factorialRecursive:operand-1] );
}
-(int)factorialLoop:(int)operand
{
if( operand == 1 || operand == 0) {
return(1);
} else if( operand < 0 ) {
return(-1);
}
int factorial = 1;
for(int i = operand; i > 1; i-- ) {
factorial *= i;
}
return( factorial );
}
示例电话:
int factNumber = 10;
NSLog(@"%d! = %d",factNumber,[self factorialRecursive:factNumber]);
NSLog(@"%d! = %d",factNumber,[self factorialLoop:factNumber]);