我有以下代码,我希望它给我高达 20 的阶乘值。
-(NSUInteger)factorialofNumber(NSUInteger n){
static NSUInteger f[N + 1];
static NSUInteger i = 0;
if (i == 0)
{
f[0] = 1;
i = 1;
}
while (i <= n)
{
f[i] = i * f[i - 1];
i++;
}
return f[n];
}
问题是当它执行时,所有高于 12 的值都不正确。我已将它放在我的前缀文件中以尝试使用更大的值,但它并没有解决问题。有什么提示可以解决这个问题吗?
#define NS_BUILD_32_LIKE_64 1