为什么发红包这个视频教学程序第一个包为最大包概率最大
还有0人有此问题
发表在Java视频课程答疑 2018-01-22
是否精华
版块置顶:

发红包这个程序做出来的发红包,前几个红包是大包的概率大于80%;为什么

import java.util.Scanner;


public class WxHb {//微信红包

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("-----微信红包-----");

System.out.println("请输入发送的金额");

double tatle=sc.nextDouble();

System.out.println("请输入红包的个数");

int bagNum=sc.nextInt();

double min=0.01;//红包最小金额

for(int i=1;i<bagNum;i++) {

double max=tatle-(bagNum-i)*min;//红包最大金额

double range=max-min;//红包范围

double safe=Math.random()*(range*100)/100;

double money=safe+0.01;

tatle=tatle-money;

System.out.println("第"+i+"个红包:"+String.format("%.2f", money)+"元");

}

System.out.println("第"+bagNum+"个红包:"+String.format("%.2f",tatle)+"元");

}

}


2018-01-22 17:26:29编辑
分享到:
精彩评论 1
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2018-01-23
沙发

微信抢红包也有同样的问题,算法可以优化,但代码量会增加许多

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照