Iはthis hackerrankチャレンジのためにJavaScriptでこのコードを書かれている:シャーロック及び獣 - 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でコードをシングルステップ実行すると、間もなくバグが発見されます。 –