ホームページ  >  記事  >  バックエンド開発  >  PHP のアームストロング数

PHP のアームストロング数

WBOY
WBOYオリジナル
2024-08-29 13:13:551046ブラウズ

アームストロング数は、その値/数が各桁の 3 乗の合計に等しい数の一種です。このような種類の数値はアームストロング数値と呼ばれます。アームストロング数には、0、1、153、371、407、471 などがあります。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

アームストロング数値の背後にあるロジック:

  • まず、数値を入力として取得して、それがアームストロング社かどうかを確認する必要があります。
  • その数値を変数に保存します。
  • 次に、その変数を合計として計算します。
  • 次に、商が 0 になるまで、その数値を 10 の値で割ります。
  • 剰余の値を 3 乗します。
  • 合計の変数と数値変数の値を比較します (両方の数値が同じ場合、それはアームストロング数値です)。

PHP でアームストロング数を確認する例

以下は、for、while、do-while などのさまざまなメソッドを使用した例です。

例 #1: PHP での For ループの使用

このプログラムはForループを使ってその数値がアームストロング数かどうかを調べるプログラムです。以下の PHP プログラムでは、入力された数値が armnum2 変数に格納され、total3 変数にも 0 が代入されます。ここで、初期化として Armnum2 変数を開始番号として x3 に割り当て、ループから抜け出すために条件を x3!=0 として、For ループ内の初期化、インクリメント、および条件を使用して、新しい変数「x3」が For ループ内に割り当てられます。 x3 を 10 で割って x3 の値に格納することで増分します。

Rem3変数は剰余値を取得する変数です。ここで、For ループ内の剰余値の 3 乗により、For ループの初期化、増分値、および条件値を使用してすべての剰余値を取得します。これは、ロジックとして、入力数値と数値の桁の 3 乗が等しい必要があるためです。アームストロング番号。

コード:

<?php
$armnum2=407;
$total3=0;
for($x3=$armnum2;$x3!=0;$x3=$x3/10)
{
$rem3=$x3%10;
$total3=$total3+$rem3*$rem3*$rem3;
}
if($armnum2==$total3)
{
echo "Yes, Number $armnum2 is an Armstrong number";
}
else
{
echo "No, Number $armnum2 it is not an armstrong number";
}
?>

出力:

PHP のアームストロング数

例 #2: HTML フォームと For ループ プログラムの使用

ここでのフォームの基本コンセプトは、For ループを使用してユーザー入力を含めることです。ユーザーは、PHP フォーム for ループ スクリプトを実行した後、ブラウザーに表示されるプロンプトを利用して、入力したい入力値を入力できます。以下のコードを使用して確認してください。

これは、Post メソッドを使用してユーザーから直接ユーザー入力を取得する HTML フォームを備えた For ループ プログラムです。 Formメソッドには入力パラメータを数値としたpostがあり、Submitを使用します。 Numberは、入力された数値をプログラムに渡し、数値/変数の値がアームストロング数値かどうかを確認するために使用します。その後、上記と同じループ プログラムがアームストロング数のチェックを続けます。すべてのプログラムについても同様です。

コード:

<html>
<body>
<form method="post">
Enter Armstrong Number/Other:
<input type="number" name="number3">
<input type="submit" value="Submit3">
</form>
</body>
</html>
<?php
if($_POST)
{
//It is to get the number1 value entered
$number3 = $_POST['number3'];
$sum3 = 0;
//Loop with the condition of quotient =0
for($a3 = $number3;$a3!=0;$a3=$a3/10)
{
$rem3 = $a3 % 10; //finds the reminder
$sum3 = $sum3 + ( $rem3 * $rem3 * $rem3 ); //sum by cubing the reminder values and stored in other variable
}
//if and else to check whether it is an armstrong number or not
if( $number3 == $sum3 )
{
echo "Yes $number3 an Armstrong Number";
}else
{
echo "$number3 is not an Armstrong Number";
}
}
?>

出力:

PHP のアームストロング数

例 #3: PHP での While ループの使用

これは、数値がアームストロング数であるかどうかを確認するための While ループ プログラムです。 x1 が 0 に等しくないため、ループを終了する条件が While ループ内に含まれます。残りの値を取得するために Rem1 変数が割り当てられます。条件 x1 が 0 に等しくなるまで剰余値とその 3 乗を使用します。その後、入力数値である x1 を 10 で割って x1 変数に格納し、while ループを使用してすべての剰余値を取得します。同じことが Do While ループ プログラムでも機能します。

コード:

<?php
$armnum=407;
$total1=0;
$x1=$armnum;
while($x1!=0)
{
$rem1=$x1%10;
$total1=$total1+$rem1*$rem1*$rem1;
$x1=$x1/10;
}
if($armnum==$total1)
{
echo "Yes, Number $armnum is an Armstrong number";
}
else
{
echo "No, Number $armnum it is not an armstrong number";
}
?>

出力:

PHP のアームストロング数

例 #4: HTML フォームと While ループ プログラムの使用

ここでのフォームの基本コンセプトは、ユーザー入力を含めることです。ユーザーは入力したい入力値を入力できます。以下のコードを確認してください。

コード:

<html>
<body>
<form method="post">
Enter Armstrong Number/Other:
<input type="number" name="number1">
<input type="submit" value="Submit">
</form>
</body>
</html>
<?php
if($_POST)
{
//It is to get the number1 value entered
$number1 = $_POST['number1'];
//Now storing the entered number in number1 variable
$a1 = $number1;
$sum1 = 0;
//Loop with the condition of quotient =0
while( $a1 != 0 )
{
$rem1 = $a1 % 10; //finds the reminder
$sum1  = $sum1 + ( $rem1 * $rem1 * $rem1 ); //sum by cubing the reminder values and stored in other variable
$a1  = $a1 / 10; //finding quotient. if 0 loop continues
}
//if and else to check whether it is an armstrong number or not
if( $number1 == $sum1 )
{
echo "Yes $number1 an Armstrong Number";
}else
{
echo "$number1 is not an Armstrong Number";
}
}
?>

出力:

PHP のアームストロング数

例 #5: PHP での DO-while ループの使用

コード:

<?php
$armnum1=407;
$total2=0;
$x2=$armnum1;
do
{
$rem2=$x2%10;
$total2=$total2+$rem2*$rem2*$rem2;
$x2=$x2/10;
}
while($x2!=0);
if($armnum1==$total2)
{
echo "Yes, Number $armnum1 is an Armstrong number";
}
else
{
echo "No, Number $armnum1 it is not an armstrong number";
}
?>

出力:

PHP のアームストロング数

例 #6: HTML フォームと Do While ループの使用

ここでのフォームの基本コンセプトは、ユーザー入力を含めることです。ユーザーは入力したい入力値を入力できます。

コード:

<html>
<body>
<form method="post">
Enter Armstrong Number/Other:
<input type="number" name="number2">
<input type="submit" value="Submit2">
</form>
</body>
</html>
<?php
if($_POST)
{
//It is to get the number1 value entered
$number2 = $_POST['number2'];
//Now storing the entered number in number1 variable
$a2 = $number2;
$sum2 = 0;
//Loop with the condition of quotient =0
do
{
$rem2  = $a2 % 10; //finds the reminder
$sum2  = $sum2 + ( $rem2 * $rem2 * $rem2 ); //sum by cubing the reminder values and stored in other variable
$a2 = $a2 / 10; //finding quotient. if 0 loop continues
}while( $a2 != 0 );
//if and else to check whether it is an armstrong number or not
if( $number2 == $sum2 )
{
echo "Yes $number2 an Armstrong Number";
}else
{
echo "$number2 is not an Armstrong Number";
}
}
?>

出力:

PHP のアームストロング数

以上がPHP のアームストロング数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP の素数次の記事:PHP の素数