ばかげた質問かもしれませんが、今は Objective C を学び、知識を広げようとしましたが、間違いから学びました。
そこで、エラストステネスのふるいを関数に適応させようとしました。関数が結果を受け取ったときに、関数が停止することを決定することを理解しています。
i を返すコードを適応させて、NSLog(@" Prime number %i", i); に表示されるすべての数値のリストを送信する方法であるかどうか、興味があります。関数を複数回実行する方法
ありがとう
私のコード
#import <Foundation/Foundation.h>
int erathos (int n)
{
int i, prime, multiple, P[n];
for (i = 2; i <= n; ++i)
{
P[i] = 1;
}
for (prime = 2; prime <= n; ++prime)
{
if (P[prime])
for (multiple = 2 * prime; multiple <= n; multiple += prime)
{
if (P[multiple]) {
P[multiple] = 0;
}
}
}
for (i = 2; i <= n; ++i)
{
if (P[i])
NSLog(@" Prime number %i", i);
}
return i;
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
int erathos (int n);
NSLog(@"Erathos %i", erathos (150));
}
return 0;
}