java例题_13 加上100再加上168的完全平方数问题
1 /*13 【程序 13 根据条件求数字】
2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?
3 程序分析:在 10万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后的结果满足如下条件,即是结果。
4 */
5
6 //=============百度到开方的方法
7 //以下是java.lang.Math.sqrt()方法的声明
8 // public static double sqrt(double a)——————括号里面是double类型
9
10 /*分析1
11 * 遍历0~10w,先找到加上100能完全开方的数,再判定这些数里面是否满足再加上156能完全开方======不对!
12 * */
13
14 /*=============查资料后思考如下==================*/
15 /*分析2
16 * 此题的问题不是怎么遍历相加再开方,关键是怎么知道一个浮点数是一个完全平方数!
17 * 换个角度,因为浮点数取值有限,所有开方再平方会出现误差,而完全平方数不会有这个误差
18 * 所以方法如下:
19 * 1、将(i+100)开方、(i+268)开方
20 * 2、再讲开方后的结果平方,强制转换为整型再与i比较------【注】:为了减小误差,这里将两个数都夸大10w倍后再强制转换--long型
21 * 3、如果相等,则是满足条件
22 */
23
24
25 package homework;
26
27 public class _13____ {
28
29 public static void main(String[] args) {
30 //A,B表示开方后的数
31 long A,B,C;
32 //遍历0~10w的数
33 for (int i = 0; i <=100000; i++) {
34 A=(long) (Math.sqrt(i+100)*10000); //根号a*10000
35 B=(long) (Math.sqrt(i+268)*10000); //根号b*10000
36 C=(long) (Math.sqrt((i+100)*(i+268))*10000*10000); //根号a*10000*根号b*10000=根号(a*b)*10000*10000
37 // System.out.println(i+"\t"+C+"\t"+B*A);
38 if (C==A*B) {
39 System.out.print(i+" ");
40 }
41 // System.out.println(C+"\t"+B*A);
42 // if(((i+100)*100000==(int)(A*A*100000))&((i+168)*100000==(int)(B*B*100000))) {
43 // System.out.print(i+" ");
44 // System.out.println((i+100)*100000+"\t"+(int)(A*A*100000)+"\t"+(i+168)*100000+"\t"+(int)(B*B*100000));
45 // }
46 }
47
48 }
49
50 }
java例题_13 加上100再加上168的完全平方数问题的更多相关文章
- # 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# -------------------------------------------------## 所谓的“完全平方数”,就是开完根号仍然是整数.## 数学渣是这么思考的:假设这个数 i 在1 ...
- python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)
day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...
- Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...
- java Switch中的case后面加上大括号({})和不加大括号的区别
java基础求真之switch 的case 后面加上大括号和不加大括号的区别. 下面给出三段代码大家看一下有什么不同以及哪段代码能够编译通过那段代码编译不能通过,为什么?(Why?) 代码片段一: i ...
- 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了
作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...
- java例题_14 该日期一年中的第几天问题
1 /*14 [程序 14 求日期] 2 题目:输入某年某月某日,判断这一天是这一年的第几天? 3 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情 ...
- java例题_42 求满足809*??=800*??+9*??+1的??的值
1 /*42 [程序 42 求数字] 2 题目:809*??=800*??+9*??+1 3 其中??代表的两位数,8*??的结果为两位数,9*??的结果为 3 位数.求??代表的两位数,及 809* ...
- Caused by: java.net.ConnectException: Call From master/192.168.199.130 to master:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.
1:安装好hive,准备启动的时候出现下面的错误(由于hive是基于Hadoop的,所以必须先将你的集群启动起来,我就是没有启动集群,直接启动hive导致的错误): [root@master bin] ...
- java.net.ConnectException: Call From slaver1/192.168.19.128 to slaver1:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org
1:练习spark的时候,操作大概如我读取hdfs上面的文件,然后spark懒加载以后,我读取详细信息出现如下所示的错误,错误虽然不大,我感觉有必要记录一下,因为错误的起因是对命令的不熟悉造成的,错误 ...
随机推荐
- how to enable vue cli auto open the localhost url
how to enable vue cli auto open the localhost URL bad you must click the link by manually, waste of ...
- GitHub Classroom
GitHub Classroom GitHub Education https://classroom.github.com/classrooms https://classroom.github.c ...
- Vue 3.x Composition API
Vue 3.x Composition API setup 调用时机 创建组件实例,然后初始化 props ,紧接着就调用setup 函数; 从生命周期钩子的视角来看,它会在 beforeCreate ...
- Scrapy 项目:腾讯招聘
目的: 通过爬取腾讯招聘网站(https://careers.tencent.com/search.html)练习Scrapy框架的使用 步骤: 1.通过抓包确认要抓取的内容是否在当前url地址中,测 ...
- 不使用的大对象为什么要手动设置null,真的有效吗?
本文转载自不使用的大对象为什么要手动设置null,真的有效吗? 导语 在我们开发过程中,对于大的对象使用过后,为了help gc ,我们会手动将大对象置为null,背后的原理是什么,是不是最佳的实践. ...
- [Python学习笔记]组织文件
shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...
- react性能提升
1.把.bind(this)提升到constructor里面 2.在生命周期函数里面shouldComponentupdate里面做父组件改变重新渲染以致于子组件重新渲染的禁止 3.在setstate ...
- 谈一下hashMap中put是如何实现的?
源码: Hash(key):计算出key的hash值. put方法详解: 1.如果table数组为null或者table数组的长度为0,则调用resize()方法扩容并返回table数组.数组的长度为 ...
- Oracle数据库的函数
一.字符函数upper和lower (1).upper和lower upper把小写的字符转换成大小的字符 ,lower把大写字符变成小写字符 . select upper('yes') from d ...
- MYSQL 悲观锁和乐观锁简单介绍及实现
1:悲观锁 1.1 特点: 每次查询都会进行锁行,怕"其他人"进行数据的修改. 1.2 实现步骤: 步骤1:开启事务test1,并对id=2的记录进行查询,并加锁,如: 步骤2 ...