产生2位数字,这些数字加起来至少为10

伊吉沃兹

我正在尝试在Actionscript / Flash游戏中生成两个随机数字(数字0-9)。但是,它们必须加起来至少为10(这是游戏的一部分,否则游戏将毫无意义,如果需要,我可以解释为什么)。这是我目前的方法:

var first:uint=0;
var second:uint=0;
while(first+second<10)
{
    first=Math.floor(Math.random()*10);
    second=Math.floor(Math.random()*10);
}

但是,我担心while()循环可能会持续很长时间(就像解析器每次生成1一样)。这是不可能的,但可能的。有没有更好的方法呢?

米蒂姆

看起来您的第一个和第二个数字从0到9,而退出循环的最低要求是10。

相反,您可以做的是生成您的第一个数字,找到超过第二个数字10所需的最小值。然后在顶部添加另一个随机数。这样,即使第二个添加的随机数为0,也可以保证总计为10。

另外,对于第一个数字,您需要确保其至少为1或更大,就像两个中的任何一个为0一样,另一个必须为10才能累加为10,这将破坏您对数字从0到9。

第二个数字的随机范围还需要考虑不超过9的大小。

就在我的头顶上(没有明确测试一下):

// first number goes from 1 to 9
var first:int = 1 + Math.floor(Math.random() * 9);
var second:int = 10 - first;

// On the second number, add a random value on top, taking care not to go over 9
second += Math.floor(Math.random() * (9 - second));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何生成一个12位数字,但所有数字加起来必须等于55?

来自分类Dev

Javascript密码验证至少2位数字

来自分类Dev

AEM HTL数字格式为2位数字

来自分类Dev

AWK匹配的行至少要有2位数字和至少2个字母

来自分类Dev

获取N个大小的数字,这些数字加起来等于X

来自分类Dev

计算[a,b]范围内的数字位数,该数字位数包含3、2、5、8中的至少一位

来自分类Dev

需要以下格式的正则表达式,允许至少10位数字

来自分类Dev

正则表达式:以数字/星号或“ +”号开头,至少包含2位数字,以数字/星号结尾

来自分类Dev

在python中将2位数字分为10和1

来自分类Dev

获取随机n个数字的序列,这些数字加起来但仅来自一组特定的数字

来自分类Dev

indicator-multiload-始终显示cpu至少2位数字

来自分类Dev

创建随机的MSISDN 10位数字

来自分类Dev

找出10位数字难题的算法

来自分类Dev

以4或6开头的10位数字

来自分类Dev

附加零以使10位数字

来自分类Dev

要求输入10位数字

来自分类Dev

找出10位数字难题的算法

来自分类Dev

HTML5模式,以任何顺序检查至少2位数字和至少4个字母

来自分类Dev

Python将数字列表的长度加起来

来自分类Dev

数字加起来不正确

来自分类Dev

如何将2位数字分隔为单个数字?

来自分类Dev

python加法2位数字

来自分类Dev

cfSpreadsheet 2位数字的年份

来自分类Dev

Laravel selectRange / selectMonth 2位数字

来自分类Dev

使用RegEx连续2位数字?

来自分类Dev

2位数字除法算术PHP

来自分类Dev

查找数组中的3个数字加起来是否为和

来自分类Dev

计算加起来为一个数字的所有组合

来自分类Dev

使用并行线程查找加起来为给定数字的所有组合

Related 相关文章

热门标签

归档