C++で損益分岐点(Break-Even Point)を求めるプログラムの作成方法
はじめに
本記事では、月間の総支出(E)、製品の販売価格(S)、製品1個あたりの維持費(M)という3つの値が与えられたときに、C++で損益分岐点を求めるプログラムを作成する方法を解説します。
損益分岐点(Break-Even Point)とは、売り手が損失も利益も出さずに済む、つまり総支出と総収益がちょうど等しくなるために販売しなければならない製品の総数のことです。
問題の概要
損失が発生しないようにするために、最低限いくつの製品を販売する必要があるのかを求めるのが課題です。
入力例
E = 2400, S = 150, M = 30
出力例
20
解説
まず、製品1個あたりの利益は次のように計算できます。
S − M = 150 − 30 = 120
したがって、販売に必要な製品の総数は以下の通りです。
N = E / (S − M) = 2400 / 120 = 20
解き方のアプローチ
損失を出さないためには、「各製品から得られる利益 × 販売数」が「総支出」と等しくなるまで製品を販売する必要があります。
つまり、必要な販売数は次の式で求められます。
販売数 = 総支出 ÷(販売価格 − 1個あたりの維持費)
C++での実装例
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int E = 2400, S = 150, M = 30;
cout << "No. of products to be sold is " << ceil(E / (S - M));
return 0;
}
実行結果
No. of products to be sold is 20
実装時の注意点
上記のコードでは、ceil関数を使って小数点以下を切り上げています。しかし、Eと(S − M)がともにint型の場合、除算は整数除算として行われるため、割り切れないケースでは期待どおりの切り上げが行われません。より正確に求めたい場合は、次のようにdouble型へキャストしてから計算することをおすすめします。
cout << "No. of products to be sold is " << ceil((double)E / (S - M));
これにより、端数が発生した場合でも、損失を出さないために必要な最小の販売数を正しく算出できます。
-
C++で三角形の重心を求めるプログラムの作成方法
この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ
-
C++で平行四辺形の面積を求めるプログラムの作成方法
この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ