ホームページ >バックエンド開発 >PHPチュートリアル >PHPアルゴリズム演習7:幾何学的シーケンスを実装するための判定方法

PHPアルゴリズム演習7:幾何学的シーケンスを実装するための判定方法

藏色散人
藏色散人オリジナル
2021-08-10 10:45:523813ブラウズ

PHP アルゴリズム演習 6: 配列内で値が 3 回連続して出現するかどうかを判定する 」では、値が配列内で 3 回連続して出現するかどうかを判定する方法を紹介します。 . This idea is also It is value for learning forEveryone. Interested friends can find out~

今日の記事のトピックは、PHP を使用してデータのセットが幾何学的シーケンスであるかどうかを判断する方法です。 PHP初心者には少し難しいかもしれませんが、この記事を読めばそういった問題もしっかり理解できると思います。

まず第一に、誰もが幾何数列とは何かを知る必要があります:

幾何数列とは、第 2 項から開始して、その前の項に対する各項の比率が次の項に等しいことを意味します。同じ定数。シーケンスの一種。一般に G と P で表されます。この定数を等比数列の公比といい、通常、公比は文字q(q≠0)で表され、等比数列a1≠0となります。 {an} の各項目は 0 ではありません。注: q=1 の場合、an は定数列です。

例: 2、4、8、16、...

各項目と前の項目の比率: 4÷2=8÷4= 16÷8 =2 なので、この数列は等比数列であり、公比は 2 です。

等比数列の一般的な項公式と総和公式は次のとおりです。

PHPアルゴリズム演習7:幾何学的シーケンスを実装するための判定方法

等比数列とは何かを簡単に理解した後、次のことに進みます。トピック。

以下は等比数列を実現するために私が与えた判定方法です:

<?php
function is_geometric($arr)
{
    if (sizeof($arr) <= 1)
        return True;
    # 计算比率
    $ratio = $arr[1]/$arr[0];

    # 检查剩余的比例
    for($i=1; $i<sizeof($arr); $i++)
    {
        if (($arr[$i]/($arr[$i-1])) != $ratio)
        {
            return "不是等比数列";
        }
    }
    return "是等比数列";
}
$my_arr1 = array(2, 6, 18, 54);
$my_arr2 = array(10, 5, 2.5, 1.20);

print_r(is_geometric($my_arr1)."<br>");
print_r(is_geometric($my_arr2));

判定結果は次のとおりです:

是等比数列
不是等比数列

上記のコードでは2つを与えました。判定配列は $my_arr1 = array(2, 6, 18, 54);$my_arr2 = array(10, 5, 2.5, 1.20); です。

$my_arr1 は明らかに幾何数列であり、その公比は 3 です。また、$my_arr2 は等比数列ではありません。

最後に、最新かつ最も包括的な「PHP ビデオ チュートリアル 」をお勧めします~ぜひ学んでください!

以上がPHPアルゴリズム演習7:幾何学的シーケンスを実装するための判定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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