每日经典算法题(十三) 逆推算法(平方根相关)

平方根:Square Root

题目

有一个整数,它加上 100 后是一个 完全平方数 ,再加上 168 又是一个 完全平方数 ,请问该数是多少?

程序分析

首先确定这个数的限定条件,然后循环遍历判断即可。

思路

用数学的思路来看,可列式:

  • a² = y + 100
  • b² = y + 100 + 168

因为 a,b 均为整数,所以 y + 100 的平方根为整数,y + 100 + 168 的平方根也为整数。

由于完全平方数 >= 0,所以 y + 100 >= 0,即 y >= -100。

这里为了减轻计算的压力,将上限限定为 100000 即可。

Java 中 Math 包为我们提供了 sqrt() 方法来计算平方根,利用 for 循环遍历 -100 到 100000 之间的整数,然后逐一判断即可。

代码示例

public class Q13_SquareRootAndCalculation {public static void main(String[] args) {for (int i=-100;i<=100000;i++){if (Math.sqrt(i+100)%1==0 && Math.sqrt(i+100+168)%1==0){System.out.print(i+"\t");}}}
}

输出结果

-99  21  261 1581
  • Day13 打卡成功!

每日经典算法题(十三) 逆推算法(平方根相关)相关推荐

  1. 每日经典算法题(十六) 九九乘法表

    每日经典算法题(十六) 九九乘法表 九九乘法表:Multiplication Table 99 题目 输出 9 * 9 口诀 程序分析 分行与列考虑,共9行9列,i 控制行,j 控制列 思路 非常经典 ...

  2. 每日经典算法题(四) 分解质因数

    每日经典算法题(四) 分解质因数 分解质因数:Decomposition Quality Factor 题目 将一个正整数分解质因数.例如:输入 90,打印出:90 = 2 * 3 * 3 * 5 程 ...

  3. python代码基础题-python每日经典算法题5(基础题)+1(中难题)

    现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难.希望能够让大家熟练掌握python的语法结构已经一些高级 ...

  4. python每日经典算法题5(基础题)+1(中难题)

    现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难.希望能够让大家熟练掌握python的语法结构已经一些高级 ...

  5. python每日经典算法题5(基础题)+1(较难题)

    一:基础算法题5道 1.阿姆斯特朗数 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数.判断用户输入的数字是否为阿姆斯特朗数. (1)题目分析:这里要先得到该数是多少位的,然后再把 ...

  6. C++经典算法题-循序搜寻法(使用卫兵)

    42.Algorithm Gossip: 循序搜寻法(使用卫兵) 说明 搜寻的目的,是在「已排序的资料」中寻找指定的资料,而当中循序搜寻是最基本的搜寻法, 只要从资料开头寻找到最后,看看是否找到资料即 ...

  7. 经典算法题每日演练——第一题 百钱买百鸡

    经典算法题每日演练--第一题 百钱买百鸡 原文:经典算法题每日演练--第一题 百钱买百鸡 百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, ...

  8. 经典算法题每日演练——第七题 KMP算法

    原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...

  9. 经典算法题每日演练——第六题 协同推荐SlopeOne 算法

    原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...

最新文章

  1. 数据结构之折半插入排序图文详解及代码(C++实现)
  2. 【转载】C ++ 基础 指针 引用
  3. 关于ViewGroup中requestDisallowInterceptTouchEvent的用法
  4. Smooth Delivery:如何减少网络拥塞?
  5. html table设置行高_字号与行高
  6. 实测java 与php运行速度比较
  7. 是Excel的图,不!是R的图
  8. anaconda报错 ImportError: No module named conda.cli
  9. 豆瓣9.4!《深度学习入门》笔记总结,带你从感知机入门深度学习!(连载)...
  10. WindowsServer2003 MSSQL安全
  11. 实验7 OpenGL光照
  12. cad解除块的快捷命令_cad隐藏块快捷键是什么,Auto CAD隐藏块快捷键是什么?
  13. MySQL中的BETWEEN...AND的用法
  14. Leetcode 312 打气球 Burst Balloons C++ 史上最详细题解系列
  15. matlab中黄金分割法,优化算法之黄金分割算法 - Matlab
  16. 黑客白皮书:如何成为一名黑客(附FAQ)
  17. idea打开多个文件多排显示
  18. 计算机科学与技术毕业设计源码,计算机科学与技术专业(毕业论文)基于网络的同学录设计与实现源代码.doc...
  19. ASP.NET药品销售ERP管理系统源码【免费分享】
  20. linux入门篇——gcc的基本用法

热门文章

  1. Leetcode PHP题解--D53 566. Reshape the Matrix
  2. 染书CRMA|一个贴身的智慧校园
  3. JAVA五子棋单机版
  4. 麻省理工学院研发可编程数字纤维
  5. 【Python】90后的青春,定格在被淡忘的QQ空间里
  6. 发散性测试用例设计题
  7. HGAME2021Week1 Writeup
  8. 深耕智能制造,质子矩阵助力升级赋能
  9. “老赖”王思聪、罗永浩、贾跃亭挡住“发币”诱惑
  10. 亚马逊AWS服务器下载kaggle竞赛数据