我已经写在JavaScript此代码为this hackerrank挑战:夏洛特和兽 - Hackerrank
function main() {
var t = parseInt(readLine());
for(var a0 = 0; a0 < t; a0++){
var n = parseInt(readLine());
if(n < 3) {
process.stdout.write("-1\n");
} else if(n % 5 == 0 && n % 3 != 0) {
for(var i = 0; i < n; i++) {
process.stdout.write("3");
}
process.stdout.write("\n");
} else if(n % 3 == 0 && n % 5 != 0) {
for(var i = 0; i < n; i++) {
process.stdout.write("5");
}
process.stdout.write("\n");
} else if(n % 5 != 0 && n % 3 != 0) {
var nts = 5;
n -= 5;
while(n % 3 != 0) {
n -= 5;
nts += 5;
}
for(var i = 0; i < n; i++) {
process.stdout.write("5");
}
for(var i = 0; i < nts; i++) {
process.stdout.write("3");
}
process.stdout.write("\n");
} else if(n % 15 == 0) {
for(var i = 0; i < n; i++) {
process.stdout.write("5");
}
process.stdout.write("\n");
}
}
}
它通过测试用例0,1,2,4,5和10而不是其他。我究竟做错了什么?不要告诉正确的解决方案。只是一个暗示将工作,我认为。 :P
您正在考虑它在一个非常复杂的方式。很难说什么暗示会有所帮助,除了再次从头开始思考并找到一般情况。这很简单。 –
我如何知道以另一种方式思考? ._。 –
你的方法很好。用_N_ = 6单步执行代码,您很快就会发现该错误。 –