loops - 按百分比计算的随机数 C++
问题描述
所以问题是随机球的范围从 0-100(100%),而 30% 可以是红色 20% 可以是蓝色,50% 可以是绿色,我做了这样的事情:如果几率小于 20,则计算红色如果几率小于 50 然后 cout blue 如果几率小于或等于 100 然后 cout green 有什么建议可以解决这个问题吗?
解决方案
百分比的最佳表示是浮点数,0% 是 0,100% 是
值得庆幸的是,C# 为此提供了一个很棒的自以为是的函数:Random.NextDouble()
要生成随机浮点数,只需像这样调用它:
随机种子随机数生成器=新随机();red_portion = seeded_random_number_generator.NextDouble();
最后要使用你的双倍,只需将它乘以另一个因素。
area_to_paint_red = red_portion * shape_area
参考: https ://docs.microsoft.com/en-us/dotnet/api/system.random.nextdouble?view=netframework-4.8
推荐阅读
- unity3d - Unity:从播放模式测试访问 Assembly-CSharp 中的类
- java - 禁用创建 logback 日志文件
- string - Julia:如何将向量的字符连接在一起([“a”,“b”,“c”]->“abc”)
- sequelize.js - 续集急切负载问题:子级未与父级关联
- sql - SQL 选择数字字符后的所有内容
- r - 根据两个标准获取每个可能的数字系列
- java - 我们如何使用 iText7 从 html(包含 SVG)生成 PDF/A 或 PDF?
- xamarin - 将 Xamarin 表单应用程序更新到最新版本会停止编译
- python - 以 1 分钟的间隔时间计算行值的差异
- bash - 将文件夹路径作为参数从 Windows 批处理文件传递给 cygwin bash 脚本