在本练习中,您将掷出一对骰子,直到数字加起来给定的数字。您可以假设给定的数字是2,3,6或12.使用伪代码,编写一个算法,该算法返回掷骰子以实现此数字的次数。
我完全不知道如何开始这样做。你能指导一下吗?
最后一句话是什么意思?
答案 0 :(得分:1)
这应该让你开始。赋值所要求的细节可能是从这里改进的一个或两个级别。例如,"滚动模具"意思。可能与将某种随机数保存到变量有关...
define rollRequiredForA(target) {
if target is not an integer or is outside the valid bounds abort
initialize a counter to 0
loop
increase the counter by one
roll two dice
add results together
if the result equals target return counter
end loop
}
答案 1 :(得分:1)
首先让我谈谈你关于问题最后一句的问题:
我会将其分解。
第一个伪代码是一种简化步骤的过程,您需要以一种非常有代表性的格式解决问题,而不是用任何编程语言编写的实际代码。例如,伪代码可能是这样的:
if the earlier result is 2 then
use this list: Britney, Caitie, Sierrah
else
use this other list: Brooke, Josh, Zach
其次,算法是计算或解决问题时要遵循的一组规则。这就像解决问题的公式。一些日常的例子可能是:
有关更多示例,请查看this quora post
所以换句话说,最后一句话要求你写一个简化的步骤,你需要采取这些步骤来计算掷骰子的数量,以使这两个骰子加起来给定的数量
现在已经不在了,让我们解决实际问题
为了让你开始,你将不得不运行某种循环(也许使用do-while循环?),并且可能最好在某种方法中进行。你需要有一个计数器,如果你的骰子没有再添加到目标掷骰子并增加计数器直到你的掷骰加起来,然后返回计数器的那个值
define rolls needed(target)
initialize counter as 0
initialize sum
do this loop
increase your counter
roll your dice
add results together
while sum does not equal target
return your counter
end