yyabc333 2019-02-07 17:44 采纳率: 0%
浏览 486

寻找两个整数使其平方之差为指定值。

已知一个奇数M,M=x^2-y^2 , x,y为整数且x>y,求x的最小值。

如:15 = 4^2-1^2 = 8^2-7^2 。x最小值为4

M的值比较大(10位以上),有时x比'根号M'大得多,穷举大于'根号M'的整数太慢,更好的办法吗?说一下思路。

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-02-07 23:48
    关注

    首先算出1~根号M的所有数字的平方,如果M是10位数,那么这个完全平方数表一共几万个。
    然后将问题转化为完全平方数表上A-B=M,显然A要大于M,B可以由M-A得到,然后查表判断B是否存在,在有序表里查找可以用二分查找法。
    所以运算量必然小于 NLogN

    评论

报告相同问题?

悬赏问题

  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退