PHPで2つの数値の繰り返し減算(除算)を計算する方法
2つの数値に対して繰り返し減算を行い、その結果を求めるプログラムは、再帰的な関数を使って実装できます。以下にそのサンプルコードを示します。
サンプルコード
<?php
function repeated_sub($val_1, $val_2)
{
if ($val_1 % $val_2 == 0)
return floor(((int)$val_1 / $val_2));
return floor(((int)$val_1 / $val_2) + repeated_sub($val_2, $val_1 % $val_2));
}
$val_1 = 1000;
$val_2 = 189;
print_r("The repeated subtraction results in ");
echo repeated_sub($val_1, $val_2);
?>出力結果
The repeated subtraction results in 18
コードの解説
このプログラムでは、「repeated_sub」という名前の関数が定義されています。この関数は、まず2つの値が互いに割り切れるかどうかを判定します。
- もし割り切れる場合は、2つの数を除算した商の切り捨て値(floor値)を返します。
- 割り切れない場合は、商の切り捨て値に加えて、第2引数と剰余(余り)を引数として「repeated_sub」関数を再帰的に呼び出し、その結果との合計を返します。
つまり、この処理は「ある数から別の数を何回引き算できるか」を求める操作と同等であり、実質的には除算と同じ結果を得ることができます。
関数の呼び出しと結果表示
関数の外部では、変数 $val_1 に 1000、$val_2 に 189 を代入しています。その後、これらの値を引数として渡して関数を呼び出し、計算結果を出力しています。
この例の場合、1000 を 189 で繰り返し減算すると 18 回になるため、出力は「18」となります。
-
Javaで自然数の合計を計算する方法をわかりやすく解説【サンプルコード付き】
本記事では、Javaを使って自然数の合計を計算する方法を解説します。自然数とは、1から無限大までのすべての正の整数のことを指します。ここでは、指定した範囲内の自然数をすべて足し合わせるプログラムの作り方を、2つの異なるアプローチで紹介します。処理内容の例まず、入力と出力のイメージを確認しておきましょう。入力50 と 100出力50から100までの自然数の合計は3825ですアルゴリズムこのプログラムは以下の手順で動作します。ステップ1: 処理を開始する ステップ2: 下限値(my_lower_limit)、上限値(my_upper_limit)、合計値(sum)の3つの整数変数を宣言する ステッ
-
Javaで2つの数値を加算するプログラムの書き方【初心者向けサンプルコード付き】
この記事では、Javaで2つの数値を加算(足し算)する方法について詳しく解説します。数値の加算は、基本的な「+」演算子を使用することで簡単に実装できます。以下に具体的な例を示します。入力例input_1 : 10 input_2 : 15出力例Sum : 25アルゴリズム2つの数値を加算するプログラムは、以下の手順で実装します。Step1- 開始 Step 2- 3つの整数型変数 input_1、input_2、sum を宣言する Step 3- ユーザーに2つの整数値の入力を促す/整数値を定義する Step 4- 値を読み込む Step 5- 加算演算子(+)を使用して2つの値を足し合わせる