ガジェット通信

見たことのないものを見に行こう

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

DATE:
  • ガジェット通信を≫

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

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

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

問題のオープニング

ある日、出社すると、あなたの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 – 消費税率)

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

税込み価格 = 元の価格 + 消費税額
   ↓
 「元の価格」を左辺として整理。
   ↓
元の価格 = 税込み価格 – 消費税額
消費税額 = 元の価格 * 消費税率 / 100
   ↓
 上記の式を「元の価格」の式に代入。
   ↓
元の価格 = 税込み価格 – 元の価格 * 消費税率 / 100
   ↓
 「元の価格」を左辺に整理。
   ↓
元の価格 + 元の価格 * 消費税率 / 100 = 税込み価格
   ↓
 左辺の「元の価格」をまとめる。
   ↓
元の価格 * (1 + 消費税率 / 100) = 税込み価格
   ↓
 両辺に100をかける。
   ↓
元の価格 * (1 + 消費税率 / 100) * 100 = 税込み価格 * 100
   ↓
 左辺を計算。
   ↓
元の価格 * (100 + 消費税率) = 税込み価格 * 100
   ↓
 左辺に「元の価格」のみを残すように整理。
   ↓
元の価格 = 税込み価格 * 100 / (100 + 消費税率)

求める値は、元の価格(909円)です。「1000 * 100 / 110」という計算式で求められます。

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

Javaサンプル

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

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

// 出力
税込み価格 / (100 + 消費税率) = 9
税込み価格 * 100 / (100 + 消費税率) = 909
税込み価格 / (100 – 消費税率) = 11

JavaScriptサンプル

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

// 参考コード

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

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

// 出力
税込み価格 / (100 + 消費税率) = 9
税込み価格 * 100 / (100 + 消費税率) = 909
税込み価格 / (100 – 消費税率) = 11

問題3

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

// 選択肢
消費税率 * (消費税額 + 100) / 消費税額
消費税額 * (消費税率 + 100) / 消費税率
消費税率 * (消費税額 + 100) / 100
消費税額 * (消費税率 + 100) / 100

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

消費税額 = 元の価格 * 消費税率 / 100
   ↓
 上記の式を、元の価格を左辺にします。
   ↓
元の価格 = 消費税額 / (消費税率 / 100)
   ↓
 乗除の計算を整理します。
   ↓
元の価格 = 消費税額 * 100 / 消費税率
税込み価格 = 元の価格 + 消費税額
   ↓
 また、上記の式に、上の式を代入します。
   ↓
税込み価格 = 消費税額 * 100 / 消費税率 + 消費税額
   ↓
 右辺を、消費税額でまとめて整理します。
   ↓
税込み価格 = 消費税額 * (100 / 消費税率 + 1)
   ↓
 右辺をさらに、消費税率でまとめて整理します。
   ↓
税込み価格 = 消費税額 * (100 + 消費税率) / 消費税率
   ↓
 足し算の順番を入れ替えます。
   ↓
税込み価格 = 消費税額 * (消費税率 + 100) / 消費税率

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

そのため、2番目の選択肢の『消費税額 * (消費税率 + 100) / 消費税率』が答えになります。

Javaサンプル

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

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

// 出力
消費税率 * (消費税額 + 100) / 消費税額 = 30
消費税額 * (消費税率 + 100) / 消費税率 = 550
消費税率 * (消費税額 + 100) / 100 = 15
消費税額 * (消費税率 + 100) / 100 = 55

JavaScriptサンプル

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

// 参考コード

// 提示情報
var 消費税率 = 10;
var 消費税額 = 50;

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

// 出力
消費税率 * (消費税額 + 100) / 消費税額 = 30
消費税額 * (消費税率 + 100) / 消費税率 = 550
消費税率 * (消費税額 + 100) / 100 = 15
消費税額 * (消費税率 + 100) / 100 = 55

CodeIQ運営事務局より

柳井さん、ありがとうございました!
現在、柳井さんの最新問題が出題中です。
ぜひ挑戦してみてくださいね!

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP