C言語の標準数学関数の使い方|pow関数で立方根を求め、ceil関数で切り上げ処理を実装する
はじめに
C言語では、math.h ヘッダーファイルをインクルードするだけで、べき乗・平方根・切り上げ・切り捨てなど、さまざまな数学関数を手軽に利用できます。本記事では、代表的な数学関数を使った「立方根の計算」と「小数点以下の切り上げ」の方法を、サンプルコードと実行結果とともに解説します。
問題
C言語を使って、任意の数値の立方根を求めるにはどうすればよいのでしょうか。
解決策
立方根を求めるには、標準ライブラリの pow() 関数を使用します。pow(x, y) は「x の y 乗」を返す関数なので、第2引数に 1.0/3.0 を指定することで立方根が計算できます。
アルゴリズム
ステップ1: 実行時に数値を入力する ステップ2: コンソールから数値を読み込む ステップ3: 結果を計算する 結果 = pow(数値, 1.0/3.0) ステップ4: 計算結果を画面に出力する
サンプルプログラム1:立方根を求める
次のCプログラムは、入力された数値の立方根を求めて表示します。
// 入力された数値の立方根を求めるプログラム
#include <stdio.h>
#include <math.h>
int main(void) {
double number, result;
printf("任意の数値を入力してください: ");
scanf("%lf", &number);
result = pow(number, 1.0 / 3.0);
printf("%f の立方根は %f です\n", number, result);
return 0;
}実行結果
上記のプログラムを実行すると、次のような出力が得られます。
任意の数値を入力してください: 64 64.000000 の立方根は 4.000000 です
このように、pow() 関数に指数 1.0/3.0 を渡すだけで、立方根を簡単に求められます。なお、計算精度を保つために、変数は double 型で宣言し、入力には %lf を使うのがポイントです。
サンプルプログラム2:ceil() 関数で切り上げを行う
続いて、math.h に含まれる ceil() 関数の使用例を見てみましょう。ceil() は「引数以上の最小の整数」を返す、いわゆる切り上げ関数です。負の数に対しても「正の無限大の方向へ丸める」動作になる点に注意が必要です。
#include <stdio.h>
#include <math.h>
int main(void) {
float num1, num2, num3;
printf("3つの数値を入力してください:\n");
scanf("%f %f %f", &num1, &num2, &num3);
printf("number1 = %.1f\n", ceil(num1));
printf("number2 = %.1f\n", ceil(num2));
printf("number3 = %.1f\n", ceil(num3));
return 0;
}実行結果
上記のプログラムを実行すると、次のような出力が得られます。
3つの数値を入力してください: 3.7 -4.2 -6.7 number1 = 4.0 number2 = -4.0 number3 = -6.0
注目すべきは負の数の扱いです。-4.2 は -5.0 ではなく -4.0 に、-6.7 は -7.0 ではなく -6.0 になっています。これは ceil() が常に「大きいほうの整数」へ丸めるためです。逆に「小さいほうの整数」へ丸めたい場合は floor() 関数を使用します。
まとめ
C言語の数学関数は、#include <math.h> を記述するだけで利用でき、複雑な数値計算も短いコードで実現できます。pow() を使えば累乗や累根(立方根など)、ceil() や floor() を使えば柔軟な丸め処理が可能です。これらの標準関数を組み合わせることで、科学技術計算やゲーム開発など、さまざまな場面での実装がぐっと楽になります。
-
Microsoft ExcelでTRUNC関数を使う方法!ROUND関数との違いや活用例を解説
日常の計算の中で、小数点以下が長く続く数字を短く処理した経験は誰にでもあるはずです。「切り捨て(Truncate)」や「四捨五入(Round)」という言葉に聞き覚えがあるなら、この記事の内容はすぐに理解できるでしょう。本記事では、Microsoft ExcelでTRUNC関数を使う方法を詳しく解説します。 TRUNC関数とROUND関数の基本的な違い まず、TRUNC(切り捨て)とROUND(四捨五入)の根本的な違いをおさらいしましょう。例えば「5.678」という小数を処理する場合、TRUNC関数を使うと「5.67」になり、ROUND関数を使うと「5.68」になります。違いにお気づきでしょうか
-
ExcelのVLOOKUP関数の使い方を徹底解説!基本から応用まで
大量のデータが入ったExcelスプレッドシートから、特定の情報だけを簡単に抽出したいと思ったことはありませんか?ExcelでVLOOKUPを使いこなせるようになれば、たった一つの強力な関数だけで、こうした検索・抽出作業を実現できます。 VLOOKUP関数は、引数が多く、使い方も複数あるため、多くの人にとってとっつきにくい存在です。この記事では、ExcelにおけるVLOOKUPのあらゆる使い方と、この関数がなぜそれほど強力なのかを、具体例を交えながら詳しく解説します。 ExcelのVLOOKUP関数の引数 Excelの任意のセルに=VLOOKUP(と入力すると、利用可能な引数の一覧がポップ