我不太确定我的代码出了什么问题,似乎大多数事情都是最好的。
public static char isPrime(int x)
{
char result = 'r';
for(int y=2;y<x;y++)
{
if(x%y==0)
result = 't';
else
result = 'f';
}
return result;
}发布于 2013-05-02 23:47:19
您总是要走到循环的末尾,所以结果将是x-1。
您需要从result = 't'开始,并跳出false值的循环。
发布于 2013-05-02 23:47:18
当你像这样切换的时候,你会丢弃所有之前的结果。
假设它是质数,直到你找到一个复合数
public static char isPrime(int x)
{
char result = 't';
for(int y=2;y<x;y++)
{
if(x%y==0)
{
result = 'f';
break;
}
}
return result;
}发布于 2013-05-02 23:47:36
public static char isPrime(int x)
{
char result = 't';
for(int y=2;y<x;y++)
{
if(x%y==0) {
result = 'f';
break;
}
}
return result;
}https://stackoverflow.com/questions/16342291
复制相似问题