給定三個數字作爲輸入,如果其中至少有一個是質數,則返回true。爲了解決這個問題,定義檢查一個數是否是素與否的功能和使用功能以三個數字作爲輸入,如果其中至少有一個是質數,則返回true
MyApproach:
我做了檢查第一NUM是質數,或者不是一個函數(CHECK PRIME)。檢查3個數字後,如果在該函數中有任何數字是素數,則返回true 否則爲false。
但是我得到錯誤的答案測試用例
下面是我的代碼:
public boolean anyonePrime(int num1, int num2, int num3)
{
boolean b1=checkPrime(num1);
boolean b2=checkPrime(num2);
boolean b3=checkPrime(num3);
if((b1==true) ||(b2==true) ||(b3==true)) //@Edit
return true;
else
return false;
}
public boolean checkPrime(int num)
{
boolean b0=true;
if(num==1)
return false; //@Edit
else
{
for(int i=2; i<=num/2; i++)
{
if(num % i==0)
{
return false; //@Edit
}
}
return true;
}
if(b0==true)
return true;
else
return false;
//write your code here
}
}
@編輯通過了所有的測試案例 對於輸入
Parameters ActualOutput Expected Output
'169' '361' '529' true false
你有'b0 = true;'緊接着'if(b0 == true)'。 –
避免'if(b0 == true)',因爲很容易出錯,如'if(b0 = true)'。改用'if(b0)'。另外'if(condition)返回true;否則返回false「可以被重寫爲'return condition;'。 – Pshemo
我想我應該在其他部分寫b0 = true。 –