次のコードがあり、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