财经>财经要闻

【神秘解决方案】什么是正确的代码? [One person sugoroku]解决方案和评论

2019-09-09

【神秘解决方案】什么是正确的代码? 【单人糖果】

问题是解决与标题主题中的程序相关的谜团。

让我们看看下面的每个问题及其答案。

打开问题

有一天,当我去上班时,PC的登录屏幕上显示了一封神秘的挑战信。

“如果你无法在24小时内解开谜团,那么这台PC上的数据将会消失。

如果你是一个真正的程序员,那么你可以解决一些谜团。“

这不是挑战,而是威胁!

有一个我从未见过的谜。

作为一名战时程序员,您已经挑战了这个保存数据的谜团。

问题1

您必须在程序中编写抽象的“Sugoroku”行为。

显示的代码是编程语言(如C,Java,JavaScript)中的通用代码形式。

选择其中一个选项以满足所需的行为。

变量pos代表正方形的位置,骰子代表骰子。 函数println输出和函数getDice随机返回1到6范围内的整数。

●必要的操作

达到第100平方时的目标(不返回)

●代码和选项

//代码
pos = 1;
while(true){
dice = getDice();
pos + =骰子;
println(“骰子”+骰子+“,pos”+ pos);
if(pos == 100){break;}
//选项1
if(pos> = 100){break;}
//选项2
if(pos <100){break;}
//选项3
}
println(“GOAL!”);

●答案

“Pos = 1;”,pos从1开始。 因此,第100个方格是pos为100时。

因此,当pos为100或更多时它被认为是一个目标是好的(它可以通过,因为它不会向后折叠)。

满足这个条件的判断是“pos> = 100”,所以答案是选项2“if(pos> = 100){break;}”。

以下是JavaScript处理的代码。 问题2及其后的变量和函数在开头是常见的。 另外,为了防止无法完成的代码,增加了调试的终止处理。

●确认码

//常见
var pos,dice;
var println = console.log;
var getDice = function(){
返回Math.floor(Math.random()* 6)+ 1;
}

/// --------------
//达到第100个网格时的目标

//选项1×
console.log('选项1');
(function(){
pos = 1;
while(true){
dice = getDice();
pos + =骰子;
println(“骰子”+骰子+“,pos”+ pos);
if(pos == 100){break}
if(pos> = 120){break}
//用于调试
}
println(“GOAL!”);
})();
console.log(' - '。repeat(20));

//选项2○
console.log('选项2');
(function(){
pos = 1;
while(true){
dice = getDice();
pos + =骰子;
println(“骰子”+骰子+“,pos”+ pos);
if(pos> = 100){break}
}
println(“GOAL!”);
})();
console.log(' - '。repeat(20));

//选项3×
console.log('选项3');
(function(){
pos = 1;
while(true){
dice = getDice();
pos + =骰子;
println(“骰子”+骰子+“,pos”+ pos);
if(pos <100){break}
}
println(“GOAL!”);
})();
console.log(' - '。repeat(20));

●输出结果(一个例子,因为它随机移动)

选项1
骰子2,位置3
骰子2,位置5
骰子4,位置9
骰子4,位置13
骰子3,位置16
骰子6,位置22
骰子6,位置28
骰子6,位置34
骰子2,位置36
骰子3,位置39
骰子5,位置44
骰子5,位置49
骰子6,位置55
骰子2,位置57
骰子3,位置60
骰子3,位63
骰子1,位置64
骰子3,位67
骰子6,位置73
骰子5,位置78
骰子3,位置81
骰子6,位置87
骰子5,位置92
骰子1,位置93
骰子2,位置95
骰子6,位置101
骰子3,位置104
骰子2,位置106
骰子5,位置111
骰子6,位置117
骰子6,位置123
GOAL!
-------
选项2
骰子3,位置4
骰子3,位置7
骰子1,位置8
骰子6,位置14
骰子4,位置18
骰子6,位置24
骰子2,位置26
骰子3,位置29
骰子4,位置33
骰子5,位置38
骰子4,位置42
骰子3,位置45
骰子1,位置46
骰子2,位置48
骰子2,位置50
骰子2,位置52
骰子6,位置58
骰子4,位置62
骰子6,位置68
骰子2,位置70
骰子6,位置76
骰子5,位置81
骰子5,位置86
骰子3,位置89
骰子3,位置92
骰子2,位置94
骰子6,位置100
GOAL!
-------
选项3
骰子1,位置2
GOAL!
-------

1

责任编辑:巴仝咚