作业帮 > 综合 > 作业

如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/18 08:43:10
如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?
希望程序运行耗时不要太长1
如何用MATLAB编程求分母不超过一百万的最简真分数的集合中包含多少元素?
这个运算量还挺大的,不知道耗时不太长是什么标准
以下代码可以求的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