Kiểm tra số hoàn hảo trong JavaScript | Laptrinhcanban.com

HOME › >>

Kiểm tra số hoàn hảo trong JavaScript

Hướng dẫn cách kiểm tra số hoàn hảo trong JavaScript. Bạn sẽ học được cách tạo hàm kiểm tra số hoàn hảo trong JavaScript sau bài học này.

Số hoàn hảo trong JavaScript

Theo wikipedia thì khái niệm số hoàn hảo như sau:

Số hoàn hảo (hay còn gọi là số hoàn chỉnh, số hoàn thiện hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương chính thức của nó (số nguyên dương bị nó chia hết ngoại trừ nó) bằng chính nó.
Nguồn wikipedia

Khái niệm số hoàn hảo trong JavaScript cũng giống như trên. Chúng ta coi một số là số hoàn hảo trong JavaScript nếu như tổng các ước nguyên dương chính thức của nó (ngoại trừ nó) bằng chính nó.

Số hoàn hảo trong JavaScript

Đây là chìa khóa thứ giúp chúng ta có thể tìm được số hoàn hảo trong JavaScript.

Kiểm tra số hoàn hảo trong JavaScript

Một số được coi là số hoàn hảo trong JavaScript nếu như tổng các ước nguyên dương chính thức của nó (ngoại trừ nó) bằng chính nó.

Bởi vậy để kiểm tra một số có phải là số hoàn hảo hay không, chúng ta đơn giản chỉ cần tìm ra và tính tổng tất cả các ước số, rồi so sánh xem tổng này có bằng với số đã cho là xong.

Để tìm ước số của một số chỉ định, chúng ta chia lần lượt số đó cho các số nhỏ hơn nó, và nếu phép chia không có dư thì số được chia chính là một ước số cần tìm.

Và chúng ta tạo hàm kiểm tra số hoàn hảo trong JavaScript như sau:

function find_perfect_num(n){
// flag = 1 => số hoàn hảo
// flag = 0 => không phải số hoàn hảo

let flag = 0, total=0;

//Tìm tổng ước số
for (i=1;i<n; i++){
if (n % i == 0) total+=i;//Nếu là ước số thì cộng vào tổng
}

//So sánh tổng ước số với số đã cho để tìm ra số hoàn hảo
if (total == n & n!=0) flag = 1;

return flag;
}

Chúng ta có thể gọi hàm này và sử dụng trong chương trình nhập n kiểm tra n có phải số hoàn hảo không trong JavaScript như sau:

function find_perfect_num(n){
// flag = 1 => số hoàn hảo
// flag = 0 => không phải số hoàn hảo

let flag = 0, total=0;

//Tìm tổng ước số
for (i=1;i<n; i++){
if (n % i == 0) total+=i;//Nếu là ước số thì cộng vào tổng
}
//So sánh tổng ước số với số đã cho để tìm ra số hoàn hảo
if (total == n & n!=0) flag = 1;

return flag;
}

let n= prompt(" nhap mot so tu nhien: ");

let check = find_perfect_num(n);

if( check == 1 ) console.log(n + " la so hoan hao");
else console.log(n + " khong phai la so hoan hao");

Lưu ý là số nhập từ bàn phím phải là một số tự nhiên.

Màn hình nhập liệu và kết quả kiểm tra số hoàn hảo trong JavaScript sẽ như sau:

nhap mot so tu nhien: 5
5 khong phai la so hoan hao

nhap mot so tu nhien: 6
6 la so hoan hao

In ra dãy số hoàn hảo bằng JavaScript

Sử dụng hàm vừa tạo ở trên, chúng ta có thể in ra dãy số hoàn hảo bằng JavaScript.

Và dưới đây là ví dụ về chương trình nhập n in ra dãy số hoàn hảo từ 1 đến n trong JavaScript:

function find_perfect_num(n){
// flag = 1 => số hoàn hảo
// flag = 0 => không phải số hoàn hảo

let flag = 0, total=0;

//Tìm tổng ước số
for (i=1;i<n; i++){
if (n % i == 0) total+=i;//Nếu là ước số thì cộng vào tổng
}
//So sánh
if (total == n & n!=0) flag = 1;

return flag;
}

let n= prompt(" nhap mot so n: ");

let i = 0, check=0, result ="";
while ( i < n){
check = find_perfect_num(i);
if( check == 1 ) result += i + " ";
++i;
}
console.log(result);

Kết quả:

nhap mot so n: 10
6

nhap mot so n: 50
6 28

nhap mot so n: 1000
6 28 496

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách kiểm tra số hoàn hảo trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/so-trong-javascript/kiem-tra-so-hoan-hao-trong-javascript/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.