m0_70869672 2022-05-17 20:24 采纳率: 75%
浏览 205
已结题

请问如何用matlab找到大于10^15的最小正整数n,这个n要同时满足2n+1和3n+1是平方数?

请问如何用matlab找到大于10^15的最小正整数n,这个n要同时满足2n+1和3n+1是平方数?(举个例子,3960就满足这个性质,2x3960+1=89^2,3x3960+1=109^2)如图,我目前想到的是大致确定n的范围(乱定的),导致速度缓慢,无法求解。

img

  • 写回答

3条回答 默认 最新

  • czy1219 2022-05-18 22:34
    关注

    历时 1.810428 秒,计算完毕!

    img

    代码如下:

    clear all
    clc
    format long
    
    tic
    % 确定平方数的范围
    a = round(sqrt(2*(1e+15)+1));
    b = round(sqrt(3*(1e+16)+1));
    
    len = b-a;
    nums1 = zeros(len,1);
    nums2 = zeros(len,1);
    
    % 穷举由平方数经过变换后产生在10^15-10^16之间的数
    j = 1;
    for i = a:b
        nums1(j)=(i^2-1)/2;
        nums2(j)=(i^2-1)/3;
        j = j+1;
    end
    
    % 找出两个数组中第一个相同的数,就是满足条件的最小整数
    i = 1; j=1;
    while(i<=len&&j<=len)
        if(nums1(i)==nums2(j))
            disp(['满足条件的最小整数为:' num2str(nums1(i))]);
            break;
        end
        if(nums1(i)<nums2(j))
            i = i +1;
        else
            j = j + 1;
        end
    end
    toc
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月21日
  • 已采纳回答 5月19日
  • 赞助了问题酬金10元 5月19日
  • 创建了问题 5月17日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么