Bội số của 3 và 5 javascript

Bộ sưu tập là một cách để bạn tổ chức các bài kata để bạn có thể tạo thói quen luyện tập của riêng mình. Mọi bộ sưu tập bạn tạo đều được công khai và tự động chia sẻ với các chiến binh khác. Sau khi bạn đã thêm một số bài kata vào một bộ sưu tập, bạn và những người khác có thể luyện tập bài kata có trong bộ sưu tập

Bắt đầu ngay bây giờ bằng cách tạo một bộ sưu tập mới

Bạn phải đợi cho đến khi kiếm được ít nhất 20 vinh dự trước khi có thể tạo bộ sưu tập mới

Trong bài viết này, chúng ta sẽ cùng nhau giải thử thách Bội số của 3 hoặc 5 từ CodeWars, bạn có thể tìm thấy nó tại liên kết này. Khó khăn của thử thách này là dễ dàng

Hãy cùng nhau đọc nhiệm vụ

Nếu liệt kê tất cả các số tự nhiên dưới 10 là bội của 3 hoặc 5 thì ta được 3, 5, 6, 9. Tổng của các bội số này là 23

Kết thúc giải pháp để nó trả về tổng của tất cả các bội số của 3 hoặc 5 bên dưới số được truyền vào

Ghi chú. Nếu số đó là bội số của cả 3 và 5, chỉ đếm một lần. Ngoài ra, nếu một số âm, hãy trả về 0 (đối với các ngôn ngữ có chúng)

Thử thách này rất đơn giản và chúng ta có thể đạt được kết quả mong đợi bằng cách sử dụng toán tử còn lại (%)

Học ngay

Những gì bộ so sánh này làm là trả về phần còn lại khi một toán hạng được chia cho toán hạng thứ hai

Hãy xem xét một số ví dụ

6%3;
// 0
6%2;
// 0
6%4;
// 2
6%5;
// 1
6%7;
// 6

Hãy đi qua từng ví dụ

  1. 6%3 = 0 vì 3 * 2 = 6 không có phần dư;
  2. 6%2 = 0 vì 2 * 3 = 6 không có phần dư;
  3. 6%4 = 2 vì 4 * 1 = 4 với 2 số dư;
  4. 6%5 = 1 vì 5 * 1 = 5 với 1 phần còn lại;
  5. 6%7 = 6 vì 6 * 0 = 0 với 6 số dư;

Biết được điều này, chúng ta có thể dễ dàng xác định xem một số là bội số của 3 hay 5 và sau đó thực hiện tổng mà chúng ta cần;

Nếu liệt kê tất cả các số tự nhiên dưới 10 là bội của 3 hoặc 5 thì ta được 3, 5, 6, 9. Tổng của các bội số này là 23

Kết thúc giải pháp để nó trả về tổng của tất cả các bội số của 3 hoặc 5 bên dưới số được truyền vào

Ghi chú. Nếu số đó là bội số của cả 3 và 5, chỉ đếm một lần

function solution(number){
  let arr = [];
  let multiple = [];
  
  // push all num between 0 and the number to arr
  for (let i = 0; i < number; i++) {
    arr.push(i);
  }
  
  // if number in arr is a multiple or 3 or 5 push it to multiple
  for (let i = 0; i < arr.length; i++) {
    if (i % 3 === 0 || i % 5 === 0) {
      multiple.push(i);
    }
  }
  
  // sum the total of the multiple array
  const sumTotal = multiple.reduce((sum, num) => sum + num, 0);
  
  return sumTotal;
}

Suy nghĩ đầu tiên. tại sao bạn bắt đầu từ i=1 ?

Bội của ba { 3, 6, 9…}
Bội số của năm {5, 10, 15…}

Ngoài ra, bạn đã xác định một biến toàn cục có vẻ như quá mức cần thiết. Di chuyển biến tổng xuống phạm vi chức năng

Vì vậy, sau đó bạn có thể sử dụng bảng điều khiển. log để in ra giá trị của tổng khi bạn thực hiện và thay đổi 1000 thành giá trị như 20 để đây là tập hợp kết quả có thể quản lý để bạn gỡ lỗi
(mở cửa sổ bảng điều khiển cho trình duyệt của bạn để xem những gì bạn đang ghi và sau đó xác định bất kỳ hành động nào khác dựa trên những gì câu lệnh nhật ký của bạn cung cấp cho bạn)

hi vọng điêu nay co ich

Có một điều mà tôi đã muốn làm từ lâu, đó là bắt đầu viết các bài đăng trên blog với các thử thách mã hóa ngẫu nhiên cùng với giải pháp của tôi cho chúng bằng JavaScript

Tôi đang sử dụng JavaScript vì đây là một trong những ngôn ngữ lập trình được sử dụng nhiều nhất hiện nay… đó là lý do đầu tiên. Lý do thứ 2 là tôi thấy thật thú vị khi làm việc với. D và đó là cách tôi biết nhiều nhất, vì vậy… Nhưng đừng lo lắng nếu bạn chưa sử dụng nó vì tôi sẽ giải thích từng bước toàn bộ quá trình và suy nghĩ đằng sau việc giải quyết thử thách

Vui lòng lưu ý rằng tôi không khẳng định mình có giải pháp tốt nhất có thể. Tôi rất vui khi thấy các giải pháp khác cho thử thách

Được rồi, nói chuyện rôm rả thế đủ rồi… làm bẩn tay nào. Chúng ta sẽ bắt đầu với một vấn đề đơn giản hơn và tiến lên khi chúng ta tiếp tục

Vấn đề là từ. https. //máy chiếu. mạng lưới/. Dành cho những ai quan tâm

Dự án Euler là một loạt các bài toán lập trình máy tính/toán học đầy thách thức sẽ đòi hỏi nhiều thứ hơn là chỉ hiểu biết về toán học để giải quyết. Mặc dù toán học sẽ giúp bạn đạt được các phương pháp tinh tế và hiệu quả, nhưng việc sử dụng máy tính và kỹ năng lập trình sẽ được yêu cầu để giải quyết hầu hết các vấn đề

Bội số của 3 và 5

Nếu liệt kê tất cả các số tự nhiên dưới 10 là bội của 3 hoặc 5 thì ta được 3, 5, 6, 9. Tổng của các bội số này là 23

Tìm sum của tất cả bội số của 3 hoặc 5 dưới 1000

Tuyệt vời… nghe có vẻ thú vị. Hãy đi sâu vào nó

Đầu tiên, chúng ta sẽ cần một biến để lưu trữ tổng. Chúng tôi sẽ khởi tạo nó với 0

let sum = 0;

Bây giờ… Chúng ta sẽ cần một cách để lặp qua tất cả các số từ 1 đến 999 vì chúng ta cần tất cả các số below 1000. Một vòng lặp

let sum = 0;for(let i=1; i<1000; i++) {}
0 sẽ thực hiện thủ thuật

let sum = 0;for(let i=1; i<1000; i++) {}

Để chỉ lấy các số là bội số của 3 hoặc 5, chúng ta sẽ sử dụng câu lệnh

let sum = 0;for(let i=1; i<1000; i++) {}
1

let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}

Toán tử modulo

let sum = 0;for(let i=1; i<1000; i++) {}
2 sẽ cho chúng ta phần còn lại của phép chia. Ví dụ: nếu chúng ta chia
let sum = 0;for(let i=1; i<1000; i++) {}
3 cho
let sum = 0;for(let i=1; i<1000; i++) {}
4 thì dư là
let sum = 0;for(let i=1; i<1000; i++) {}
5 và cho
let sum = 0;for(let i=1; i<1000; i++) {}
6 dư là 0, đây chính xác là những gì chúng ta cần… Tất cả các số chia hết cho 3 hoặc 5, do đó số dư của chúng là 0

Nếu đây là trường hợp, chúng tôi chỉ cần thêm

let sum = 0;for(let i=1; i<1000; i++) {}
9 vào sum

let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
sum += i;
}
}

Đối với những người không biết,

let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}
1 là cách viết tắt của
let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}
2

Đó là tất cả. Sau vòng lặp for, biến tổng của chúng ta sẽ chứa câu trả lời cho vấn đề, đó là ………… Tôi sẽ để bạn chạy mã và cho biết câu trả lời trong phần bình luận

Một bước nữa…

Mát mẻ. Bây giờ chúng ta có một đoạn mã sẽ cho chúng ta tổng của tất cả các số từ 1 đến 999 chia hết cho 3 hoặc 5

Nhưng hãy tiến thêm một bước nữa và tạo một hàm sẽ nhận một số làm tham số và nó sẽ trả về tổng của tất cả các số bên dưới nó chia hết cho 3 hoặc 5. Hấp dẫn?. Đi thôi

Chúng tôi sẽ gọi hàm

let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}
3 và chúng tôi sẽ dán mã chúng tôi có ở trên. Ngoài ra, chúng tôi sẽ thêm một tham số

function sumOfMultiples(number) {
let sum = 0;
for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
sum += i;
}
}
}

Tuyệt vời. Nhưng có một vấn đề… Chúng tôi cần lặp từ 1 đến

let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}
4 (vì chúng tôi cần lấy tất cả các số bên dưới số của mình), nhưng chúng tôi hiện đang lặp từ
let sum = 0;for(let i=1; i<1000; i++) {}
5 đến
let sum = 0;for(let i=1; i<1000; i++) {
if(i % 3 === 0 || i % 5 === 0){
}
}
6… Điều đó sai… Ngoài ra, chúng tôi muốn trả về sum tại . Hãy làm điều đó

function sumOfMultiples(number) {
let sum = 0;
for(let i=1; i if(i % 3 === 0 || i % 5 === 0){
sum += i;
}
}
return sum;
}

Bây giờ chúng ta có thể gọi hàm và truyền vào bất kỳ số nào. Nó sẽ trả về câu trả lời đúng

sumOfMultiples(10); // returns 23 as 3 + 5 + 6 + 9 = 23sumOfMultiples(15); // returns 45 as 3 + 5 + 6 + 9 + 10 + 12 = 45

tiếng hoan hô. Chúng ta làm được rồi

Phần kết luận

Tôi biết rằng vấn đề có vẻ tầm thường đối với một số bạn, nhưng nếu nó giúp được bạn theo bất kỳ cách nào, thì tôi rất vui vì điều đó

Ngoài ra… dành cho những người quan tâm để tiến thêm một bước

Điều gì sẽ xảy ra nếu bạn cũng có thể truyền thêm 2 tham số cho hàm sẽ thay thế tham số 3 và 5 trong câu lệnh if?

Một thử thách thú vị hơn là có thể chuyển một mảng số thay vì chỉ 2 và tính tổng của tất cả các số chia hết cho các số trong mảng. Đối với điều này, bạn sẽ cần một vòng lặp khác. Sẽ rất vui khi thấy giải pháp của bạn cho vấn đề này

Cảm ơn bạn rất nhiều vì sự kiên nhẫn. Tôi rất muốn nghe phản hồi của bạn về bài viết

Ngoài ra, tại đây bạn có thể tìm thấy bài viết tiếp theo của bài đăng này, trong đó chúng tôi giải thuật toán theo một cách khác

Làm cách nào để kiểm tra bội số của 3 và 5 trong js?

Triển khai .
#include .
sử dụng không gian tên std;
void findMultiples(int n){
for(int i = 0; i <= n; i++)
nếu(i % 3 == 0 && i % 5 == 0)
cout<

Làm cách nào để tìm bội số của một số trong JavaScript?

Trong thử thách này, bạn phải tạo một chương trình trả về bội số của một số nguyên cho đến khi bạn đạt đến giới hạn mà chúng tôi chỉ định . Vì vậy, chúng ta có một hàm gọi là getMultiples() nhận hai tham số. Một số nguyên (số dương). Và giới hạn (số dương).

Làm cách nào để kiểm tra xem một số có phải là bội số của 3 trong JavaScript không?

Bội số của 3 hoặc 5 là gì?

Các bội của 3 là. 3, 6, 9, 12, 15, 18, 21, 24, 27, 30 , … Các bội của 5 là. 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, …