体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

【謎解きプログラム】消費税率に対応せよ!【消費税】解答と解説

【謎解きプログラム】消費税率に対応せよ!【消費税】

本問題は、「消費税率に対応せよ!」というテーマで、プログラムにちなんだ謎を解くというものでした。

それでは以下、各問題とその解答を見ていきましょう。

問題のオープニング

ある日、出社すると、あなたのPCのログイン画面に、謎の挑戦状が表示されていた。

「24時間以内に謎が解けない場合は、このPCのデータは消失する。

 謎は、あなたが真のプログラマーなら解けるものだ」

これは挑戦状ではなく脅迫状だ!

そこには、見たことのない謎が掲載されていた。

あなたは歴戦のプログラマーとして、データを救うために、この謎に挑むことになった。

説明

消費税率に対応せよ!

画面には、以下の4つの情報の内、2つが提示されています。

「元の価格」
「消費税率」
「消費税額」
「税込み価格」

これらの情報を手がかりに、指定された値を求める計算式を当ててください。

計算は全て整数でおこなうものとします。

問題1

提示情報
  元の価格(円):1000
  消費税率(%):10
求める値
  税込み価格(円)

// 選択肢
元の価格 * 消費税率
元の価格 * (1 + 消費税率)
元の価格 + 元の価格 * 消費税率 / 100

税込み価格(円)を計算する式は、以下のようになります。

消費税額 = 元の価格 * 消費税率 / 100
税込み価格 = 元の価格 + 消費税額
   ↓
 2つ目の式に「消費税額」を代入。
   ↓
税込み価格 = 元の価格 + 元の価格 * 消費税率 / 100

求める値は、税込み価格(1100円)です。「1000 + 1000 * 10 / 100」という計算式で求められます。

そのため、3番目の選択肢の『元の価格 + 元の価格 * 消費税率 / 100』が答えになります。

Javaサンプル

以下、サンドボックス(言語は「Java8」)で、実行確認できるコードを示します。コード欄に、下記のコードをコピペして、INPUTは空で、RUNボタンを押してください。

// 参考コード
class Main{
// main
public static void main(String[]args) throws Exception {
// 提示情報
int 元の価格 = 1000;
int 消費税率 = 10;
// 各計算式の計算結果
System.out.println(“元の価格 * 消費税率 = ”
+ ( 元の価格 * 消費税率 ));
System.out.println(“元の価格 * (1 + 消費税率) = ”
+ ( 元の価格 * (1 + 消費税率) ));
System.out.println(“元の価格 + 元の価格 * 消費税率 / 100 = ”
+ ( 元の価格 + 元の価格 * 消費税率 / 100 ));
}
}

// 出力
元の価格 * 消費税率 = 10000
元の価格 * (1 + 消費税率) = 11000
元の価格 + 元の価格 * 消費税率 / 100 = 1100

JavaScriptサンプル

以下、ブラウザのコンソールで確認できるように、JavaScriptのコードを示します。

// 参考コード

// 提示情報
var 元の価格 = 1000;
var 消費税率 = 10;

// 各計算式の計算結果
console.log(“元の価格 * 消費税率 = ”
+ Math.floor( 元の価格 * 消費税率 ));
console.log(“元の価格 * (1 + 消費税率) = ”
+ Math.floor( 元の価格 * (1 + 消費税率) ));
console.log(“元の価格 + 元の価格 * 消費税率 / 100 = ”
+ Math.floor( 元の価格 + 元の価格 * 消費税率 / 100 ));

// 出力
元の価格 * 消費税率 = 10000
元の価格 * (1 + 消費税率) = 11000
元の価格 + 元の価格 * 消費税率 / 100 = 1100

問題2

提示情報
  税込み価格(円):1000
  消費税率(%):10
求める値
  元の価格(円)

// 選択肢
税込み価格 / (100 + 消費税率)
税込み価格 * 100 / (100 + 消費税率)
税込み価格 / (100 – 消費税率)

1 2 3次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。