蓝桥杯常用算法知识点:2.浮点数的注意事项
来源:互联网 发布:阿里云实名认证失败 编辑:程序博客网 时间:2024/06/07 09:41
浮点数的注意事项:
1.要注意浮点数不能用于精确的求等:
===========================================================================
2.海盗喝酒
1.要注意浮点数不能用于精确的求等:
package com.aiqiongdiao;/** * 啤酒:2.3 * 饮料:1.9 * 共花:82.3 * 饮料<啤酒 * 买的多少啤酒? * @author lyb * */public class Main {public static void main(String[] args){/** * 浮点全等:有风险System.out.println(0.2+0.1==0.3);【Flase:二进制的问题】 * 解决方式!!:方式一:System.out.println(Math.abs(0.2+0.1-0.3)<1E-10); *方式二:if(a*23+b*19==823) */for(int a=0;a<100;a++){for(int b=0;b<100;b++){//if(a*2.3+b*1.9==82.3){if(Math.abs(a*2.3+b*1.9-82.3)<1E-10){System.out.println(a+" "+b);}}}}}
===========================================================================
2.海盗喝酒
package com.aiqiongdiao;/** * 20个人或以内在喝酒 * 开一瓶平分,倒下几个 * 第4瓶后船长也倒下 * 船长喝了1瓶 * 推断开始几个人,每轮剩下几个人 * 205420 * @author lyb * */public class Main {public static void main(String[] args) {/**分数不能用在浮点数精确的比较 * 所以用: * 1.相减值太小 * 2.化去分母 *///剩下的人数for(int a=20;a>1;a--){for(int b=a-1;b>1;b--){ //b要小于afor(int c=b-1;c>1;c--){for(int d=c-1;d>1;d--){//注意部分:此处分数不能精确相等--改写成整数相乘if(b*c*d+a*c*d+a*b*d+a*b*c==a*b*c*d){System.out.println(a+","+b+","+c+","+d);}}}}}}}
===============================
未清楚知识点日后补上~
0 0
- 蓝桥杯常用算法知识点:2.浮点数的注意事项
- 蓝桥杯讲解-04-浮点数的注意事项
- 蓝桥杯辅导视频学习-浮点数的注意事项
- 浮点数运算注意事项
- 浮点数注意事项
- 浮点数的压缩算法
- 【知识点】浅谈浮点数
- 浮点数float 处理注意事项
- 关于浮点数计算注意事项
- 浮点数表示范围注意事项
- 浮点数的存储结构和开发时候的注意事项
- 用于调试浮点数算法的数据结构
- 世界上最快的浮点数开放算法
- js 浮点数的加减算法
- 关于浮点数的比较以及提供精确的浮点数比较算法
- 浮点数介绍及使用注意事项
- JAVA中浮点数使用注意事项
- 采用浮点数编码的遗传算法的问题
- Safari上 input 无法触发trigger change事件
- 深入浅出RxJava(一:基础篇)
- CSS归纳总结
- XUtils-Android 最火的快速开发框架
- MachineLearning in Action_trees
- 蓝桥杯常用算法知识点:2.浮点数的注意事项
- 【nodejs】服务器处理url请求并返回json数据
- Algrothm_Sort_HeapSort
- Tomcat启动过程原理详解
- Java文本转语音
- Sicily 1488 矩阵取数游戏
- Actionbar change Height
- 热烈祝贺阿尔法Go首战告捷
- 深入浅出RxJava(二:操作符)