-2

私は自分のプログラムを機能させようとしています。素数用です。

以下は私の機能であり、その後私のメインプログラムです

私はこれが正しいフォーマットであると信じています (明らかに、私はおそらく間違っているため、機能していません)、それを修正しようとしても役に立ちませんでした。私が間違っていることの説明(微妙な書式設定に関係していると確信しています)も素晴らしいでしょう。

function [answer,primefactors ] = primey1 (N)
for i=2:(N-1)
    A(i-1)=rem(N,i);
end
A;
if(all(A)==1)
    answer=['Yes']
    primefactors=[1,N]
elseif(all(A)==0)
    answer=['No']
    fac=[]
    for i=2:N
        q=0;
        while N/i==floor(N/i)
            N=N/i;
            q=q+1;
        end
        if q>0
            fac=[fac,i]
            if N==1
                break
                primefactors=[fac]
            end
        end
    end
end

endfunction
4

3 に答える 3

1

Matlab には、factorコードが実行しようとしている機能を実行する関数があります

p = factor(10)

2、5、および

p = factor(11)

11 を返します。

あなたが持っているのはテストすることだけですlength

if length(p) == 1

true素数用です。

于 2013-09-05T13:41:44.830 に答える