龙岗商城网站建设,企业网站建设 百度文库,网站设计开发中的具体步骤,网站给假冒伪劣产品做推广目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言
当前所有算法都使用测试用例运行过#xff0c;但是不保证100%的测试用例#xff0c;如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识#xff01; 问题介… 目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言
当前所有算法都使用测试用例运行过但是不保证100%的测试用例如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识 问题介绍
原问题 已知Math.random返回[0,1)范围上的数那么落在[0,x)上的概率应该是x 现在实现一个函数仍然返回[0,1)范围的数但是要求[0,x)上的概率应该是x^k次方k为用户输入 比如k 2 返回的概率应该是x^2
解决方案
原问题 首先实现一个最简单的x^2概率的函数如何做 答案是两次rand取最大值即可
代码编写
java语言版本
原问题 /*** 二轮测试让[0,x)区间上的出现概率变为x^k* param k* return*/public static double randomXPowerKCp1(int k) {if (k 1) {return 0;}double res -1;for (int i 0; i k; i) {res Math.max(res, Math.random());}return res;}
c语言版本
正在学习中
c语言版本
正在学习中
思考感悟
刚开始有点懵逼后来才理解什么意思原来就是进行k次的rand如果出现一次比x大的rand就返回那个大的值即可。那么如果所有值都没有比x大那么就返回[0,x)范围的数。
最近工作比较忙所以偷个小懒但是后面会上一个开源自己写的小组件名字叫做httpTerminator基于注解的http请求小工具希望大家多多支持~
写在最后 方案和代码仅提供学习和思考使用切勿随意滥用如有错误和不合理的地方务必批评指正~ 如果需要git源码可邮件给2260755767qq.com 再次感谢左大神对我算法的指点迷津