九九で計算できる数値かどうかを判定する
3132 ワード
前提
とある数値が入力されたとして、その数値が九九(1-9までの掛け算表)で計算が可能な数値かを判定します。
もし入力された値が計算可能であれば Yes
と出力し、計算不可能であれば No
と出力します。
言語は JavaScript です。
コード
function Main(input) {
input = parseInt(input);
let canBeCaluculated = "No";
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
if (i * j === input) {
canBeCaluculated = "Yes";
} else {
break;
}
}
}
console.log(canBeCaluculated)
}
Main(10); // => YES
Main(300); // => NO
解説
やり方は2通り考えられます。
- 九九を全て試して入力値と同じものがあれば Yes を出力
- 入力値を1-9まで順番に除算していき、割り切れてかつ商が1以上9以下の整数であれば Yes を出力
今回は1でやりました。 for 文で掛ける側と掛けられる側を回して、入力値と同じであれば Yes
に変更してループを抜けるようにしています。
2のほうがスマートですし、計算回数も少ないので処理も速いですが、九九(合計81回の評価)しか行わないのであれば誤差です。
処理方法を迷ったときはなるべく簡単な方を選ぶように、、(自戒)
Author And Source
この問題について(九九で計算できる数値かどうかを判定する), 我々は、より多くの情報をここで見つけました https://qiita.com/melty12/items/253bb8357f4345739b27著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .