我想解決歐拉項目中的問題10,雖然我認爲我有它,它說我的答案是不正確的。現在的問題是如下:項目歐拉在目標C#10
低於10的素數的總和爲2 + 3 + 5 + 7 = 17。 查找下面2000000所有素數的總和。
而且我的代碼:
int sum;
@interface Prime : NSObject
-(BOOL)isPrime:(int)arg1;
@end
@implementation Prime
-(BOOL)isPrime:(int)arg1 {
if (arg1 == 1) {
NSLog(@"Given 1");
return NO;
}
for (int i = 2; i < arg1; i++) {
if (arg1 % i == 0) {
return NO;
}
}
sum += arg1;
return YES;
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
Prime* primeObject = [[Prime alloc] init];
for (int i = 0; i < 2000000; i++) {
[primeObject isPrime:i];
}
NSLog(@"Sum of primes is %i", sum);
}
}
這段代碼輸出「素數總和爲1179908154」的項目歐拉說是不正確。幫幫我?
嘗試初始化'sum' 0 – rmaddy
效率可能不是重點,但對於'(INT I = 2; i
Byte