C++のfdim()関数とは?使い方とサンプルコードを解説
この記事では、C++のfdim()関数について詳しく解説します。fdim()関数は、2つの引数の正の差を返すために使用される数学関数です。引数をそれぞれaとbとすると、a > bの場合はa - bを返し、それ以外の場合は0を返します。
この関数は<cmath>ヘッダーで定義されており、差が負の値にならないようにしたい場合に便利です。例えば、2つの値を比較して差を求めたいが、負の値は0として扱いたいようなシーンで活用できます。
使用例
#include <cmath>
#include <iostream>
using namespace std;
main() {
cout << "fdim of (5.0, 2.0) is " << fdim(5.0, 2.0) << endl; //正の差を返す
cout << "fdim of (2.0, 5.0) is " << fdim(2.0, 5.0) << endl; //0を返す
cout << "fdim of (-5.0, -2.0) is " << fdim(-5.0, -2.0) << endl; //0を返す
cout << "fdim of (-2.0, -5.0) is " << fdim(-2.0, -5.0) << endl; //正の差を返す
}出力結果
fdim of (5.0, 2.0) is 3 fdim of (2.0, 5.0) is 0 fdim of (-5.0, -2.0) is 0 fdim of (-2.0, -5.0) is 3
上記の例から分かるように、最初の引数が2番目の引数より大きい場合にのみ差が返され、そうでない場合は0が返されます。負の数同士の比較でも同じルールが適用される点に注意してください。
-
C++で質素数(Frugal Number)を判定する方法【サンプルコード付き】
この記事では、正の整数 N が与えられたときに、その数が質素数(Frugal Number)であるかどうかを判定するプログラムを C++ で作成する方法を解説します。 質素数とは? 質素数(FRUGAL NUMBER)とは、その数自身の桁数が、素因数分解による表現の桁数よりも厳密に大きい数のことです。 例:625 の場合 625 を素因数分解すると 54 となります。 625 自身の桁数:3 桁 54 の表現の桁数:2 桁 3 は 2 よりも厳密に大きいため、625 は質素数です。 最初のいくつかの質素数:125、128、243、256、343、512、625 など 問題を理解するための具
-
C++で五胞体数(ペンタトープ数)を求める方法
五胞体数とは? 五胞体数(ペンタトープ数)は、パスカルの三角形の第5の対角線上に現れる数列として知られています。この数列を定義するには、パスカルの三角形に少なくとも5つの数が必要となるため、数列の最初の数はパスカルの三角形の第4行である 1 4 6 4 1 から始まります。 本チュートリアルでは、n番目の五胞体数を求める方法を解説します。まずは具体的な例を見てみましょう。 入力 : 1出力 : 1入力 : 4出力 : 35 以下の図から出力を確認できます。 この問題は数列に関するものなので、解法ではまず数列のパターンを見つけることから始めます。 解法のアプローチ このプログラムでは、数列の