Xcode如何只检查一个值为true的值然后显示一条消息

时间:2012-08-11 00:40:06

标签: xcode

这是我的问题。我希望代码检查以查看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;
}

}

1 个答案:

答案 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;