这是我的问题。我希望代码检查以查看y
的一个值是否没有余数,然后显示消息素数。现在它正在显示y
的每个值的消息。
这是我的代码:
for (y = 2; y <= x-1; y ++) {
if (x % y == 0){
NSLog(@"Not prime");
}
else if(x % y != 0) {
NSLog(@"Is prime");
}
}
return 0;
}
}
答案 0 :(得分:1)
你需要在循环之外移动“is prime”。您的方法检查它是否不是素数,然后每次遍历循环时打印“is prime”。如果它从不打印出“Not Prime”,你只需要打印“Is Prime”。每次检查一个号码时,你的If-Else会打印一个或另一个。一个简单的BOOL(布尔值)可以使这成为可能。
尝试这样的事情:
BOOL prime = YES;
for (y = 2; y <= x-1; y ++) {
if (x % y == 0){
//If this is ever the case, print "Not Prime", flag the Boolean to "No", and break out of the loop. No need to check any further
NSLog(@"Not prime");
prime = NO;
break;
}
}
//If we never ran into "Not Prime", print "Is Prime"
if(prime == YES)
NSLog(@"Is prime");
return 0;