三位数算法------精度不足导致判断错误
来源:互联网 发布:如何在淘宝上买学分 编辑:程序博客网 时间:2024/04/27 09:11
三位数算法
问题:1-9分成三组,组成3个三位数,有多少个三位数符合1:2:3?
求解思路:穷举所有排列组合,做判断。
代码:
package 三位数排列组合成比例;public class ThreePai {public int[] tre = new int[9];public int count = 0;{for(int i = 0;i<tre.length;i++){tre[i] = i+1;}}public static void main(String[] args) {ThreePai tp = new ThreePai();tp.initMain();}public void initMain(){permutation(tre,0,tre.length);}public void permutation(int a[],int m,int n){if( m < n - 1 ){permutation(a,m+1,n);for(int i = m + 1;i < n;i++){int t = a[m];a[m] = a[i];a[i] = t;permutation(a,m+1,n);t = a[m];a[m] = a[i];a[i] = t;}}else{judge(a);}}public void judge(int[] a){double one = a[0]*100 + a[1]*10 + a[2];double two = a[3]*100 + a[4]*10 + a[5];double three = a[6]*100 + a[7]*10 + a[8];if( (two/one) == 2 && (three/one) == 3 ){System.out.println((int)one+" "+(int)two+" "+(int)three);}}}
第一次发生了判断错误,错误原因是int基本类型精度不足,错误如下:
后来换成了double基本数据类型,成功求解所有答案:
3 0
- 三位数算法------精度不足导致判断错误
- import表时,表空间不足导致产生ORA-00604错误
- SQL执行计划错误导致临时表空间不足
- rows算错导致错误的笛卡尔积造成temp不足
- linux C 栈空间不足导致段错误
- C语言之基本算法29—整数任意次方的最后三位数(精度问题)
- PB中Decimal类型精度导致的错误
- 三位数的判断大小
- 算法提高 寻找三位数
- 密码文件丢失导致不能登录pl/sql 错误 ora-01031 权限不足
- 判断满足条件的三位数
- 磁盘空间不足导致数据库当机
- 磁盘空间不足导致的问题
- oracle空间不足错误
- 算法练习_001 三位数反转
- 每日一算法---组成三位数
- 蓝桥杯算法提高 寻找三位数
- 算法之路-三位数反转
- EasyModal Examples
- 如何高效的熟悉一个框架
- gdb的工作原理
- 批量更新
- pycharm使用github
- 三位数算法------精度不足导致判断错误
- 异步复位、同步释放
- Muduo网络库源码分析(四)EventLoopThread和EventLoopThreadPool的封装
- 2016年最新Web前端行业发展趋势
- Git 项目不显示repo小图标
- C++的4种类型转换关键字及其特点
- Mac 上 安装opencv3
- Unable to instantiate application com.android.tools.fd.runtime.Bootstrap
- android 视频缩略图之 MediaStore