2021/11/20

ヒューマン・リソース・マシーン 入社26年目−割り算のしかた

目次

1)課題

左側の数値2つ(A, B)ごとに割り算(A÷B)を行い、その商を右側へ運んで下さい。

ただし、2つ目の数字に0が来る事は無いものとする。

TIPS: 前の課題で書いたコードを「コピー&はりつける」で持ってくると手間が省けて便利かもしれません。

2)解説

入社24年目で, 割り算をした余りを求めました. この課題では, 余りではなく商, つまりAからBを何回引けるか, を求めます. まず, 問題文にもあるように, 入社24年目で作成したコードをコピーして貼り付けます. 

入社24年目からコードをコピーして貼り付けました. ここからプログラムを改造していきます.

  1. 初期設定する時, 商を表すカーペットに0を配置します. このカーペットに「Q」と名前を付けます.
  2. 「A-B」の結果がプラスであれば, 「Q」を1増やします. つまりBUMP+コマンドを使います. JUMPコマンドで引き算に戻る時, 「A」のパネルに持ち替えることに注意してください.
  3. 「A-B」の結果がマイナスであれば, 「Q」の値を右のコンベアに運びます.

コードを修正するとこのようになります. これを実行すると課題をクリアーできます.

サイズ目標まであと1行です. 簡単に修正できますが, このままにしておきます. スピード目標については, 入社24年目と同様に達成できてしまいました. 開発元がどのような想定でプログラムを作成したのか気になります.

目次 

0 件のコメント:

コメントを投稿

ヒューマン・リソース・マシーン 入社41年目−並べ替えよ

目次 1)課題 0を終端とした文字列がいくつか流れてきます。各文字列に対してソート(並べ替え)を行い、小さい順(昇順)に右側へ運んでください。 2)状況の確認 この問題では, 予めコードが入っています. このコードを実行して, 何をするコードなのか確かめます.  左のコンベアから...