Đề bài
Viết chương trình PHP phân tích số nguyên n thành các thừa số nguyên tố trong PHP. Ví dụ: 12 = 2 x 2 x 3.
Lời giải
File: phantichsonguyento.php
<?php $n = 0; if (isset ( $_POST ['n'] )) { $n = $_POST ['n']; } /** * Chương trình phân tích số nguyên thành tích các thừa số nguyên tố * * @param n số nguyên dương * @return array */ function phanTichSoNguyen($n) { $i = 2; $arrNumbers = array (); $arrNumbers [0] = ""; $count = 0; // phân tích số nguyên n thành tích các số nguyên tố while ( $n > 1 ) { if ($n % $i == 0) { $n = floor ( $n / $i ); $arrNumbers [$count] = $i; $count = $count + 1; } else { $i ++; } } // nếu listNumbers trống thì add n vào listNumbers if ($arrNumbers [0] == "") { $arrNumbers [0] = $n; } return $arrNumbers; } ?> <form action="#" method="post"> <table> <tr> <td>Nhập số nguyên:</td> <td><input type="text" name="n" value="<?=$n?>" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Phân tích"></td> </tr> </table> </form> <br> <?php if (filter_var ( $n, FILTER_VALIDATE_INT )) { // phân tích số nguyên dương n $arrNumbers = phanTichSoNguyen ( $n ); // in kết quả ra màn hình echo ("Kết quả: $n = "); $size = count ( $arrNumbers ); // hiển thị các phần tử của mảng for($i = 0; $i < $size - 1; $i ++) { echo "$arrNumbers[$i] x "; } echo $arrNumbers [$size - 1]; } else { echo ("Giá trị input không hợp lệ!"); } ?>
Kết quả: