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 放入一个矩阵中。

我怎样才能做到这一点?

4

2 回答 2

1

你有没有刻意自己尝试过?您可以改用 Matlab 的factor函数,

factor(N)

这给出了相同的结果。

于 2013-09-05T11:31:04.650 回答
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 回答