>  기사  >  백엔드 개발  >  PHP 알고리즘 연습 7: 기하학적 수열 구현을 위한 판단 방법

PHP 알고리즘 연습 7: 기하학적 수열 구현을 위한 판단 방법

藏色散人
藏色散人원래의
2021-08-10 10:45:523767검색

"PHP 알고리즘 연습 6: 배열에서 값이 세 번 연속 나타나는지 확인"에서는 값이 배열에서 세 번 연속 나타나는지 판단하는 방법을 소개합니다. 감사합니다. 관심 있는 친구들은 알아보세요~

오늘 기사의 주제는 PHP를 사용하여 일련의 데이터가 기하학적 수열인지 확인하는 방법입니다. PHP 초보자에게는 다소 어려울 수 있지만, 이 글을 읽고 나면 이러한 문제에 대해 명확히 이해할 수 있을 것이라 믿습니다.

먼저 모두가 기하수열이 무엇인지 알아야 합니다.

기하수열은 두 번째 항목부터 시작하여 각 항목과 이전 항목의 비율이 동일한 상수와 같은 수열을 말합니다. 종종 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.