>  기사  >  백엔드 개발  >  PHP와 암스트롱 수치의 애증 관계를 놓치지 마세요

PHP와 암스트롱 수치의 애증 관계를 놓치지 마세요

藏色散人
藏色散人원래의
2021-07-29 17:52:162018검색

시청자 여러분, 큰 머리에 질문이 가득하시죠? 하하, 당황하지 마세요. 오늘은 또 다른 재미있는 방법을 소개하겠습니다. 이 기사 제목을 현지어로 번역하면 "PHP를 사용하여 숫자가 암스트롱 숫자인지 확인하세요."입니다. 수선화 번호인데, 이 번호는 정확히 무엇인가요? 수선화인가요? PHP 프로그램을 사용하여 구현하는 방법은 무엇입니까? 하나씩 소개해보겠습니다~

우선 수선화 수의 정의, 즉 암스트롱 수에 대해 소개해드리겠습니다.

수선화수는 초완전숫자불변수, 자기애수, 자기지수라고도 알려져 있습니다. 번호 및 Amr Strong 번호 또는 Armstrong 번호. 수선화 숫자는 각 숫자의 3제곱의 합이 그 자체와 동일한 3자리 숫자입니다(예: 1^3 + 5^3 + 3^3 = 153).

이제 이해하셨을 텐데요, 다음으로 넘어가겠습니다:

편집기를 직접 열고 코드를 입력하세요!

<?php
function armstrong_number($num) {
    $sl = strlen($num);
    $sum = 0;
    $num = (string)$num;
    for ($i = 0; $i < $sl; $i++) {
        $sum = $sum + pow((string)$num{$i},$sl);
    }
    if ((string)$sum == (string)$num) {
        return "True";
    } else {
        return "False";
    }
}
echo "153是阿姆斯特朗数吗?".armstrong_number(153);
echo "<br>21是阿姆斯特朗数吗?".armstrong_number(21);
echo "<br>4587是阿姆斯特朗数吗?".armstrong_number(4587);

실행 결과를 살펴보겠습니다.

PHP와 암스트롱 수치의 애증 관계를 놓치지 마세요

위의 예에서는 판단을 위해 세 가지 숫자, 즉 153, 21, 4587을 지정했습니다.

분명히 153은 암스트롱의 번호이지만 21도 4587도 아니므로 false가 반환됩니다.

사실 PHP 프로그램에서 암스트롱 숫자인지 판별하려면 가장 중요한 점은 판별 공식입니다!

위의 정의에서 알 수 있듯이 각 자리 숫자의 세제곱의 합과 일치하는 숫자를 암스트롱 수라고 하며, 이는 수선화 수이기도 합니다.

그러면 예시의 핵심 코드 부분은 "$sum =$sum + pow((string)$num{$i},$sl);"입니다.

여기서 pow()는 PHP에 내장된 함수로, x의 y제곱을 계산하는 데 사용됩니다.

이제 이해가 쉽죠?

어렵지는 않지만 개인적으로 이런 생각이 도움이 필요한 친구들에게 도움이 되기를 바랍니다~

PHP 비디오 튜토리얼을 클릭하세요. ->https://www.php.cn /course/ list/29/type/2.html

위 내용은 PHP와 암스트롱 수치의 애증 관계를 놓치지 마세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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