Rumah >pembangunan bahagian belakang >tutorial php >Program PHP untuk memeriksa sama ada nombor adalah nombor Armstrong

Program PHP untuk memeriksa sama ada nombor adalah nombor Armstrong

DDD
DDDasal
2025-02-07 11:27:10793semak imbas

PHP Program to Check if a Number is an Armstrong Number

Armstrong Number

Nombor Armstrong merujuk kepada jumlah kuasa N bagi setiap digit nombor yang sama dengan nombor itu sendiri, di mana n adalah bilangan digit nombor. Artikel ini akan membincangkan bagaimana untuk memeriksa sama ada nombor tertentu adalah nombor Armstrong.

Contoh

mari kita fahami nombor Armstrong dengan beberapa contoh input dan output.

masukkan

<code>9474</code>
output

<code>是</code>
Penjelasan

Ini adalah nombor empat digit. Nombor untuk nombor ini adalah 9, 4, 7 dan 4.

<code>9474 = 9<sup>4</sup> + 4<sup>4</sup> + 7<sup>4</sup> + 4<sup>4</sup><br>= 6561 + 256 + 2401 + 256<br>= 9474</code>
Jadi, ini adalah nombor Armstrong.

masukkan

<code>153</code>
output

<code>是</code>
Penjelasan

Ini adalah digit triple. Nombor untuk nombor ini adalah 1, 5 dan 3.

<code>153 = 1<sup>3</sup> + 5<sup>3</sup> + 3<sup>3</sup><br>= 1 + 125 + 27<br>=153</code>
Jadi, ini adalah nombor Armstrong.

Kaedah Penyelesaian

Kami akan mendapat integer sebagai input. Kami mula -mula menulis fungsi untuk mengira jumlah digit. Sekarang kita memulakan pembolehubah untuk menyimpan jumlah dan menyimpan nombor asal dalam mana -mana pembolehubah. Sekarang, kami menggunakan pengendali Modulo untuk mengekstrak setiap nombor nombor dan menambah kuasa nombor ke jumlah digit. Akhirnya, kami menyemak sama ada jumlah yang dikira sama dengan nombor asal.

pelaksanaan php

mengakses penyelesaian kepada masalah di atas dalam PHP berikutan langkah -langkah -

    Kami menulis fungsi untuk mengira bilangan bit dalam nombor.
  • Sekarang, tulis fungsi lain untuk memeriksa sama ada nombor adalah nombor Armstrong.
  • memulakan jumlah pembolehubah dan simpan nombor asal
  • Sekarang gunakan pengendali modulo untuk mengekstrak setiap nombor satu demi satu dan tambahkan kuasa nombor ke kiraan nombor.
  • Gunakan pengendali bahagian untuk memadam digit terakhir.
  • Selepas keluar gelung, periksa sama ada jumlahnya sama dengan nombor asal.
  • Jika ya, maka ini adalah nombor Armstrong.
Contoh

Berikut adalah pelaksanaan langkah -langkah pelaksanaan yang dibincangkan di atas dalam PHP.

<code class="language-php"><?php
// 计算数字位数的函数
function countDigits($num) {
    return strlen((string)$num);
}

// 检查数字是否为阿姆斯特朗数的函数
function isArmstrong($num) {
    $k = countDigits($num);
    $sum = 0;
    $originalNum = $num;

    while ($num > 0) {
        $ld = $num % 10;
        $sum += pow($ld, $k);
        $num = (int)($num / 10);
    }

    return $sum == $originalNum;
}

$number = 153;

if (isArmstrong($number)) {
    echo "$number 是阿姆斯特朗数。";
} else {
    echo "$number 不是阿姆斯特朗数。";
}
?></code>
output

<code>153 是阿姆斯特朗数。</code>

kerumitan masa: o (d * n), di mana d adalah bilangan digit dan n adalah kuasa setiap nombor kerumitan ruang: (1), ruang malar

Atas ialah kandungan terperinci Program PHP untuk memeriksa sama ada nombor adalah nombor Armstrong. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn