如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?希望程序运行耗时不要太长1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 11:22:08
如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?希望程序运行耗时不要太长1

如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?希望程序运行耗时不要太长1
如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?
希望程序运行耗时不要太长1

如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?希望程序运行耗时不要太长1
这个运算量还挺大的,不知道耗时不太长是什么标准
以下代码可以求的num,最间真分数的个数
在分母不超过十万,大概计算了12秒
分母不超过一百万,计算了151秒
得到结果是303963552391个
n=1e6;
num=0;


for k=2:n
    a=unique(factor(k));
    l=length(a);
    dnum=k-1;
    for ii=1:l
        c=nchoosek(a,ii);
        s=(-1)^ii;
        for jj=1:size(c,1)
            dnum=dnum+floor((k-1)/prod(c(jj,:)))*s;
        end
    end
    num=num+dnum;
end