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
Lepaskan: 2025-02-07 11:27:10
asal
726 orang telah melayarinya

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>
Salin selepas log masuk
output

<code>是</code>
Salin selepas log masuk
Salin selepas log masuk
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>
Salin selepas log masuk
Jadi, ini adalah nombor Armstrong.

masukkan

<code>153</code>
Salin selepas log masuk
output

<code>是</code>
Salin selepas log masuk
Salin selepas log masuk
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>
Salin selepas log masuk
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.

<?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 不是阿姆斯特朗数。";
}
?>
Salin selepas log masuk
output

<code>153 是阿姆斯特朗数。</code>
Salin selepas log masuk

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!

Label berkaitan:
php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan