请问如何用matlab找到大于10^15的最小正整数n,这个n要同时满足2n+1和3n+1是平方数?(举个例子,3960就满足这个性质,2x3960+1=89^2,3x3960+1=109^2)如图,我目前想到的是大致确定n的范围(乱定的),导致速度缓慢,无法求解。
请问如何用matlab找到大于10^15的最小正整数n,这个n要同时满足2n+1和3n+1是平方数?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- czy1219 2022-05-18 22:34关注
历时 1.810428 秒,计算完毕!
代码如下:
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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计