0

次のように書かれた素因数を決定するコードがあります。

N=12345678
for i = 2 : N
    q = 0;

    while N/i == floor(N/i)
        N = N/i;
        q = q + 1;
    end

    if q > 0
        fac=i

     if N == 1
            break
        end
    end
end

ただし、目的の値である 2、3、47、および 14593 を 1 つのマトリックスにまとめたいと考えています。

これどうやってするの?

4

2 に答える 2

1

コードが MATLAB にあるように見える場合は、次のように簡単に実行できます。

N=12345678
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
        end
    end
end
于 2013-09-05T10:49:46.167 に答える
1

わざと自分でやろうとしたの?代わりに、 Matlab のfactor関数を使用できます。

factor(N)

同じ結果が得られます。

于 2013-09-05T11:31:04.650 に答える