200万未満の素数の合計を見つけるためにオイラー法プロジェクトを行っていますが、苦労しています。これが私が使用しているコードです。10 未満の合計と 50 未満の合計を計算すると正しい値が得られますが、200 万プロジェクト未満の合計を計算すると、オイラーは私の解が正しくないと言っています。何か案は?
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
int p = 2, d, total;
BOOL isPrime;
total = 0;
NSLog(@"%i ", p);
for ( p = 3; p < 2e6; p += 2){
isPrime = YES;
for ( d = 3; isPrime == YES && d < p; d += 2)
if ( p % d == 0)
isPrime = NO;
if (isPrime == YES){
NSLog(@"%i ", p);
total += p ;}
}
NSLog(@"total = %i", total + 2);
}
return 0;
}