Untitled

 avatar
unknown
matlab
13 days ago
558 B
2
Indexable
function [p1, p2] = goldbach(n)

    if mod(n, 2) ~= 0 || n<4
        error('Input deve essere un numeri pari maggior o uguale a 4');
    end

    for i=2:n/2
        if primo(i) && primo(n-i)
            p1 = i;
            p2 = n-i;
            return;
        end
    end

    error('Non sono state trovate coppie di numeri primi');
end


load('possibili_goldbach.mat');

numeri = dati(dati >= 4 & mod(dati,2) == 0);

for i = 1:length(numeri)
    [p1, p2] = goldbach(numeri(i));
    fprintf('Per il numero %d: %d + %d\n', numeri(i), p1, p2);
end









Leave a Comment