Làm cách nào để tìm giai thừa của một số trong JavaScript bằng vòng lặp while?

Chúng tôi sử dụng let trong trường hợp này vì biến này sẽ được gán lại mỗi khi chúng tôi đi qua vòng lặp. Nếu chúng ta sử dụng const để khai báo biến, chúng ta sẽ gặp lỗi vì không thể gán lại ____________ sau khi tạo

chức năng của chúng tôi cần phải trả lại một cái gì đó. Vì chúng tôi tính toán một giai thừa và đặt kết quả vào biến giai thừa, nên chúng tôi cũng có thể trả về nó vào cuối ngày factorialOf

return factorial;

Bây giờ chúng ta cần thực hiện công việc khó khăn là thực sự tính giai thừa bằng cách sử dụng vòng lặp for

Vòng lặp for

Hãy suy nghĩ một chút về cách chúng ta sẽ làm điều này. Hãy viết ra các yêu cầu cho chức năng này

  • Chúng ta cần bắt đầu với số 1, vì vậy bộ đếm ban đầu có thể được đặt thành 1
  • Chúng ta cần tiếp tục lặp cho đến khi bộ đếm của chúng ta nhỏ hơn hoặc bằng số nguyên đầu vào
  • Chúng ta cần lấy kết quả giai thừa ban đầu và nhân nó với bộ đếm mỗi lần trong vòng lặp
  • Sau mỗi bước trong vòng lặp, chúng ta cần tăng bộ đếm của mình lên 1

Với tất cả những điều này, hãy viết một vòng lặp đáp ứng tất cả các yêu cầu này

for(let i = 1; i <= integer; i++) {
  factorial *= i;
}

Chà, mã của chúng tôi khá ngắn nhưng như bạn có thể thấy nó đáp ứng tất cả các yêu cầu của chúng tôi
Chúng tôi khởi tạo

const factorialOf = integer => {
  // calculation goes here
}
2 thành 1, chúng tôi chạy vòng lặp trong khi
const factorialOf = integer => {
  // calculation goes here
}
3 số nguyên và chúng tôi tăng
const factorialOf = integer => {
  // calculation goes here
}
2 lên 1 ở mỗi lượt
Trong vòng lặp, chúng ta lấy giai thừa và nhân nó với giá trị của
const factorialOf = integer => {
  // calculation goes here
}
2
Dưới đây là mã chức năng đầy đủ

const factorialOf = integer => {
  let factorial = 1;

  for(let i = 1; i <= integer; i++) {
    factorial *= i;
  }

  return factorial;
}

Nếu chúng tôi kiểm tra nó ngay bây giờ, chúng tôi sẽ nhận được kết quả chính xác

console.log(factorialOf(2));  // 2
console.log(factorialOf(5));  // 120
console.log(factorialOf(4));  // 24

Tóm lược

Chúng tôi đã thực hiện một thao tác hơi phức tạp để tạo một hàm tính giai thừa cho một số nguyên bằng cách sử dụng vòng lặp for
Chúng tôi đã lặp lại trên tất cả các số từ 1 đến số nguyên đã cho và nhân từng số với các số trước đó trong vòng lặp
Cuối cùng chúng tôi đã trả lại kết quả của hoạt động

Chúng ta sẽ thấy một ví dụ khác về vòng lặp vào ngày mai. chúng tôi sẽ in các ký tự ra bàn điều khiển bằng cách sử dụng vòng lặp kép


Tôi viết hàng ngày về phát triển web. Nếu bạn thích bài viết này, hãy chia sẻ nó với bạn bè và đồng nghiệp của bạn

Trong bài viết này, chúng ta sẽ xem xét ba phương pháp khác nhau để tìm Giai thừa của một số trong Javascript.  

  • hàm đệ quy,
  • vòng lặp WHILE và
  • vòng lặp FOR

Cách chính để tìm Giai thừa của một số/giai thừa một số

Mục đích của việc giai thừa một số là gì?

Giai thừa là tích của tất cả các số dương nhỏ hơn hoặc bằng n

chữ viết tắt n. thường biểu thị giai thừa

Khi một số được chia thành giai thừa, nó sẽ được nhân với mỗi số liên tiếp trừ đi một

n. = n * (n-1) * (n-2) * (n-3) * (n-4) * ………. * (n – (n-1))

Nên về cơ bản,

Ví dụ, 6. bằng 6 * 5 * 4 * 3 * 2 * 1 = 720

Tương tự,

3. = 3 * 2 * 1 = 6
2. = 2 * 1 = 2
5. = 5 * 4 * 3 * 2 * 1 = 120

Ngoại lệ –

Nếu số là 0 hoặc 1, Giai thừa sẽ trả về 1

Nói một cách đơn giản, Giai thừa của 0 hoặc 1 luôn là 1

Mã chuẩn để sử dụng phương pháp giai thừa này trong lập trình bằng JavaScript

function findFactorial(number) {
// Sử dụng bất kỳ phương thức nào để lấy giai thừa của số
return number/result;
}

findFactorial(number);     // Gọi phương thức này để lấy giai thừa của số được cung cấp

Các trường hợp thử nghiệm –

  • findFactorial(6) sẽ trả về 720
  • findFactorial(8) sẽ trả về 40.320
  • findFactorial(11) sẽ trả về 39.916.800
  • findFactorial(0) sẽ trả về 1
  • findFactorial(1) sẽ trả về 1
  • findFactorial(17) sẽ trả về 355.687.428.096.000

Sử dụng đệ quy để tìm giai thừa của một số

Chúng tôi làm theo ba bước trong khi sử dụng Đệ quy để tìm Giai thừa của một số

Bước 1 -

Nếu giá trị/số nhỏ hơn 0, nó bị từ chối

Bước 2 -

Nếu giá trị/số bằng không, Giai thừa của nó bằng một

Mặt khác, gọi lại quá trình đệ quy một lần nữa

Bước 3 -

Giai đoạn đầu

Bạn phải nhớ rằng bạn sẽ không có một cuộc gọi nào mà có nhiều cuộc gọi lồng nhau

Gọi vòng lặp giai thừa sắp tới Lệnh gọi đầu tiên – findFactorial(6) sẽ trả về 6 * findFactorial(6 – 1)findFactorial(5)2nd call – findFactorial(5) will return 5 * findFactorial(5 – 1)findFactorial(4)3rd call – findFactorial(4) will return 4 * findFactorial(4 – 1)findFactorial(3)4th call – findFactorial(3) will return 3 * findFactorial(3 – 1)findFactorial(2)5th call – findFactorial(2) will return 2 * findFactorial(2 – 1)findFactorial(1)6th call – findFactorial(1) will return 1 * findFactorial(1 – 1)findFactorial(0)

Giai đoạn thứ hai

Khi điều kiện if được đáp ứng, phương thức trả về 1, nhân với chính số kết quả

Hàm sẽ trả về toàn bộ giá trị khi kết thúc

Không. số cuộc gọi quay lại số cuộc gọi thứ 6 sẽ trả về (6 * (6 – 1))số = 6 * cuộc gọi thứ 55 sẽ trả về (30 * (5 – 1))số = 30 * cuộc gọi thứ 44 sẽ trả về (120 * (4 – 1))số

Nếu chúng tôi đơn giản hóa tất cả các cuộc gọi thành một dòng duy nhất, chúng tôi có

(6 * (6-1) * (5-1) * (4-1) * (3-1) * (2-1)) = 6 * 5 * 4 * 3 * 2 * 1 = 720

Mã số -

________số 8_______

Sử dụng vòng lặp While để tìm Giai thừa của một số

Làm theo các bước sau để tìm Giai thừa của một số bằng cách sử dụng vòng lặp WHILE 

Bước 1

Tạo một biến gọi là kết quả để giữ giá trị của số

Bước 2

Nếu giá trị của đối số là 0 hoặc 1, Giai thừa sẽ trả về 1

Bước 3

Xây dựng vòng lặp WHILE

Giai đoạn đầu

Ở mỗi lần lặp lại, hãy giảm giá trị của số đi 1

Giai đoạn thứ hai

Nhân số chúng tôi nhận được ở cuối Giai đoạn 1 với giá trị kết quả

Đây là bảng cho biết những gì diễn ra trong vòng lặp WHILE 

Lặp #NumberNumber-1Biến resultresult = result * NumberIteration #165630 = 6 * 5Iteration #25430120 = 30 * 4Iteration #343120360 = 120 * 3Iteration #432360720 = 360 * 2Iteration #521720720 = 720 * 1Iteration #610720

Bước 4

Trả về Giai thừa của số nguyên được cung cấp

Mã số -

function findFactorial(number) {

  var result = number;     // Step #1

  if (number === 0 || number === 1) {     // Step #2
    return 1;
  }  
     
  while (number > 1) {      // Step #3
    number = number - 1;
    result = result * number;
  }

  return result;      // Step #4

}

findFactorial(6);

Sử dụng vòng lặp For để tìm Giai thừa của một số

Thực hiện theo các bước sau để tìm Giai thừa của một số bằng cách sử dụng vòng lặp FOR 

Bước 1

Nếu giá trị của đối số là 0 hoặc 1, Giai thừa sẽ trả về 1

Tạo một biến gọi là kết quả để giữ giá trị của số

Bước 2

Chúng ta bắt đầu vòng lặp FOR với i = số – 1 (trong trường hợp này là 5)

Sau mỗi chu kỳ, chúng tôi giảm giá trị của i đi 1

Bước 3

Vào cuối mỗi lần lặp, chúng tôi lưu trữ giá trị của số

Đây là bảng cho biết những gì diễn ra trong vòng lặp FOR

Lặp lại #numberi = number-1i >= 1number = number * ii = i – 1Lặp lại #165 30 = 6 * 55 = Yes120 = 30 * 44 = 5 – 1Iteration #31203Yes360 = 120 * 33 = 4 – 1Iteration #43602Yes720 = 360 * 22 = 3 – 1Iteration #57201Yes720 = 720 * 11 = 2 – 1Iteration #67200No

Bước 4

Trả về Giai thừa của số nguyên được cung cấp

Mã số

function findFactorial(number) {

  if (number === 0 || number === 1){    // Step #1
    return 1;
  }

  for (var i = number - 1; i >= 1; i--) {    // Step #2
    number = number * i;    // Step #3
  }

  return number;    // Step #4

}

findFactorial(6);

Chọn phương pháp nào để tìm Giai thừa của một số?

Vòng lặp FOR và Vòng lặp WHILE là các phương thức lặp trong JavaScript để tính Giai thừa của một số

Làm cách nào để tìm số giai thừa trong JavaScript cho vòng lặp?

Cách lặp trong Javascript .
const giai thừaOf = số nguyên => { // tính toán ở đây }.
đặt giai thừa = 1;.
trả về giai thừa;.
for(let i = 1; i <= integer; i++) { giai thừa *= i; .
const giai thừaOf = số nguyên => { let giai thừa = 1; .
bảng điều khiển

Làm cách nào để tìm giai thừa bằng cách sử dụng vòng lặp trong Java?

Hãy xem Chương trình giai thừa sử dụng vòng lặp trong java. .
lớp Giai thừaVí dụ{
public static void main(String args[]){
int i,thực tế=1;
int number=5;//Đây là số để tính giai thừa
for(i=1;i<=number;i++){
sự thật=sự thật*i;
Hệ thống. ngoài. println("Giai thừa của "+số+" là. "+thực tế);

Giai thừa của 5 trong Javascript là gì?

Nhập số nguyên dương. 5 Giai thừa của 5 là 120 . Trong chương trình trên, người dùng được nhắc nhập một số nguyên. Sau đó nếu. khác nếu. câu lệnh khác được sử dụng để kiểm tra điều kiện của một số.

Có thể tìm giai thừa của một số đã cho mà không sử dụng bất kỳ vòng lặp hoặc đệ quy nào không?

Bạn thực sự không thể tính giai thừa mà không có vòng lặp hay đệ quy .