-4
我在MATLAB中編寫了自己的函數,如果輸入數字是素數,它將返回「真」,如果不是,則返回「假」。MATLAB不會給出答案
隨着數字0,1和2它的工作,但任何2以上的東西它什麼也沒做。 (順便說一句,我重新isprime,所以OBV我不會用在這裏。)
function [A] = myprime(p)
m = 2;
if p<1
disp('Number too low')
end
if p == 1
A = false;
end
if p == 2
A=true;
end
if p < 2
while m < p
A = true;
x = mod(p, m);
if x == 0
m=p;
R=false;
end
m=m+1;
end
end
end
正如你所看到的,它給出了0,1和2的結果,但沒有爲任何數量的上述2:
因爲你設置
由於沒有專門的matlab知識,所以很顯然你沒有代碼來處理任何'p> 2'的情況。看起來像是最後一個'if'的打字機。不能說超越。 – CollinD
不僅如此,在任何情況下也沒有設置「A = false」的代碼。因此,即使刪除了錯字,所有輸入數字都會返回爲素數。我想'R = false;'是另一個錯字,應該是'A = false;'。 –