【MATLAB编程】用递归法输出1~N之间的所有质数

问题描述】用递归法输出1~N之间的所有质数。

思路分析
如果一个数不能整除它之前的所有质数,那它必定为质数。

主程序代码

%%
clear all;
close all;
%%
N = 100;
y = Prime(N);

Prime函数

function y = Prime( N )
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
if N == 2
    y = 2;
else
    ytmp  = Prime(N-1);
    for n = 1:length(ytmp)
        if mod(N,ytmp(n)) == 0
      break;
        end
     end 
    if n == length(ytmp)
        y = [ytmp,N];
    else 
        y = ytmp;
    end
end

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kzpx_1106/article/details/127791102