Làm cách nào để lấy tổng của 3 số trong javascript?

P. S. Đương nhiên, công thức là giải pháp nhanh nhất. Nó chỉ sử dụng 3 thao tác cho bất kỳ số nào

function sumTo(n) { /*.. your code .. */ }

alert( sumTo(100) ); // 5050
1. Toán học giúp

Biến thể vòng lặp là biến thể thứ hai về tốc độ. Trong cả biến thể đệ quy và vòng lặp, chúng tôi tính tổng các số giống nhau. Nhưng đệ quy liên quan đến các cuộc gọi lồng nhau và quản lý ngăn xếp thực thi. Điều đó cũng tốn tài nguyên, vì vậy nó chậm hơn

P. P. S. Một số công cụ hỗ trợ tối ưu hóa "cuộc gọi đuôi". nếu một cuộc gọi đệ quy là cuộc gọi cuối cùng trong hàm, không có phép tính nào khác được thực hiện, thì hàm bên ngoài sẽ không cần tiếp tục thực thi, vì vậy công cụ không cần nhớ ngữ cảnh thực thi của nó. Điều đó loại bỏ gánh nặng cho bộ nhớ. Nhưng nếu công cụ JavaScript không hỗ trợ tối ưu hóa cuộc gọi đuôi (hầu hết trong số họ không hỗ trợ), sẽ có lỗi. đã vượt quá kích thước ngăn xếp tối đa, vì thường có giới hạn về tổng kích thước ngăn xếp

Hầu hết các lập trình viên đều quen thuộc với bài toán Tổng hai số, đây là một câu hỏi phổ biến mà người ta có thể gặp trong một cuộc phỏng vấn kỹ thuật. Đó là vấn đề đầu tiên tôi nghiên cứu trong quá trình chuẩn bị phỏng vấn của riêng mình và là vấn đề mà tôi coi là điểm khởi đầu tuyệt vời để làm quen với các thuật toán nói chung

Trong trường hợp bạn chưa từng nghe nói về Hai Tổng, thì đây là một bài đăng trên blog mà tôi đã viết cách đây một thời gian đề cập đến vấn đề này một cách chi tiết hơn. Bài đăng này sẽ tập trung vào một vấn đề tương tự nhưng khó hơn một chút do có… ba số

Đây là một cách tiềm năng để diễn đạt tuyên bố vấn đề

Cho một mảng không trống gồm các số nguyên riêng biệt và một số nguyên đại diện cho tổng mục tiêu, hãy viết một hàm tìm tất cả các bộ ba trong mảng có tổng bằng tổng mục tiêu và trả về một mảng hai chiều chứa các bộ ba. Nếu không tìm thấy số nào cộng với tổng mục tiêu, hãy trả về một mảng trống

Ví dụ

mảng đầu vào. [8, 10, -2, 49, 14]

tổng mục tiêu. 57

đầu ra. [[-2, 10, 49]]

Giải pháp

Cách tiếp cận ưa thích của tôi đối với vấn đề này là chiến lược hai con trỏ. Trong khi tôi có thể sử dụng phương pháp bảng băm như tôi đã làm cho bài toán Hai tổng, tôi thấy kỹ thuật hai con trỏ (còn gọi là cửa sổ trượt) trực quan hơn trong trường hợp này. Tuy nhiên, đó chỉ là sở thích cá nhân của tôi;

Chúng ta hãy xem giải pháp hai con trỏ, như hình bên dưới

Bước đầu tiên là sắp xếp các số trong mảng đầu vào theo thứ tự tăng dần. Tiếp theo, chúng tôi tạo một kết quả const, có giá trị của một mảng trống (ban đầu) mà chúng tôi sẽ sử dụng để lưu trữ bộ ba trong

Lặp lại mảng đầu vào bằng cách sử dụng vòng lặp for và bắt đầu với số đầu tiên. Đây là nơi chúng ta thiết lập hai con trỏ, trái và phải. Giá trị ban đầu của con trỏ bên trái là i+1, là một chỉ số sau chỉ số của số hiện tại (i. e. cái mà chúng ta hiện đang xem xét, ban đầu là 0, khi chúng ta bắt đầu với số đầu tiên trong mảng). Giá trị ban đầu của con trỏ bên phải là arr. chiều dài-1, cho chúng ta biết rằng nó đang trỏ đến số cuối cùng trong mảng đầu vào của chúng ta. Những con trỏ này sẽ thay đổi vị trí của chúng khi chúng ta duyệt qua mảng để tìm kiếm bộ ba

Khi chúng tôi đã đặt con trỏ ở vị trí tương ứng của chúng, chúng tôi di chuyển đến phần mà chúng tôi kiểm tra xem ba số chúng tôi đang xem (chỉ số hiện tại, con trỏ bên trái và con trỏ bên phải) có cộng với tổng mục tiêu không. Nếu chúng thỏa mãn điều kiện của chúng tôi, chúng tôi thêm chúng vào mảng kết quả, tăng con trỏ bên trái và giảm con trỏ bên phải, do đó thay đổi vị trí của bộ ba hiện tại. Nếu tổng bộ ba hiện tại nhỏ hơn tổng mục tiêu, chúng ta di chuyển con trỏ bên trái sang bên phải một chỉ số. Nếu tổng hiện tại lớn hơn mục tiêu, chúng ta di chuyển con trỏ bên phải sang trái một chỉ số. Chúng tôi tiếp tục quá trình so sánh các tổng này cho đến khi chúng tôi đã kiểm tra tất cả các bộ ba có thể có trong mảng đầu vào. Cuối cùng, chúng tôi trả về mảng kết quả, mảng này sẽ chứa bộ ba “chiến thắng” hoặc để trống

Chương trình trên yêu cầu người dùng nhập hai số. Ở đây, prompt() được sử dụng để lấy thông tin đầu vào từ người dùng. parseInt() được sử dụng để chuyển đổi chuỗi đầu vào của người dùng thành số

const num1 = parseInt(prompt('Enter the first number '));
const num2 = parseInt(prompt('Enter the second number '));

Sau đó, tổng của các số được tính

const sum = num1 + num2;

Cuối cùng, tổng được hiển thị. Để hiển thị kết quả, chúng tôi đã sử dụng mẫu chữ

The sum of 5 and 3 is: 8
0. Điều này cho phép chúng tôi bao gồm các biến bên trong chuỗi

console.log(`The sum of ${num1} and ${num2} is ${sum}`);

Để bao gồm các biến bên trong

The sum of 5 and 3 is: 8
1, bạn cần sử dụng định dạng
The sum of 5 and 3 is: 8
2

Ghi chú. Mẫu chữ đã được giới thiệu trong ES6 và một số trình duyệt có thể không hỗ trợ chúng. Để tìm hiểu thêm, hãy truy cập, hỗ trợ

Làm cách nào để thêm tổng các số trong JavaScript?

const num1 = parseInt(prompt('Nhập số đầu tiên ')); . const sum = num1 + num2; Cuối cùng, tổng được hiển thị.

Có tổng () trong JavaScript không?

hàm sum() trong D3. js dùng để trả về tổng các phần tử của mảng đã cho . Nếu mảng trống thì nó trả về 0. Thông số. Hàm này chấp nhận một tham số Mảng là một mảng các phần tử cần tính tổng.

Làm cách nào để thêm 3 biến trong JavaScript?

Thêm số trong JavaScript bằng cách đặt dấu cộng giữa chúng. Bạn cũng có thể sử dụng cú pháp sau để thực hiện phép cộng. var x+=y; Toán tử "+=" yêu cầu JavaScript thêm biến ở bên phải của toán tử vào biến ở bên trái.