30/09/2018, 18:03
Hỏi vòng lặp for Javascript
Mình từ học Javascript mà đang làm bài tập cơ bản và đang bí ở đây mong mọi người giúp đỡ.
Mình làm bài tìm tất cả các cách + 3 tờ tiền 500d 200d 100d để đủ 10000d, Mình chạy thì vòng lặp for ngoài cùng chỉ chạy 2 lần, mình cũng suy nghĩ ra là nó + hơn 10000d nên không ra kết quả nữa, mà không biết dùng lệnh gì để gỡ rối nó.
var ketqua4 = 0;
for(var i = 0;i<=20;i++){
if(i>=1){
ketqua4 +=500
}
if(ketqua4 == 10000){
document.write("Có "+i+ " tờ 500 đồng" + "Có " +j+" 200 đồng"+"Có "+k+" 100 đồng"+'<br />');
ketqua4 = 0;
}
for(var j = 0;j<=50;j++){
if(j>=1){
ketqua4 +=200
}
if(ketqua4 == 10000){
document.write("Có "+i+ " tờ 500 đồng" + "Có " +j+" 200 đồng"+"Có "+k+" 100 đồng"+'<br />');
ketqua4 = 0;
}
for(var k=1;k<=100;k++){
if(k>=1){
ketqua4 +=100
}
if(ketqua4==10000){
document.write("Có "+i+ " tờ 500 đồng" + "Có " +j+" 200 đồng"+"Có "+k+" 100 đồng"+'<br />');
ketqua4 = 0;
}
}
}
}
Bài liên quan
em tham khảo link này
http://www.w3schools.com/js/js_break.asp
E làm bài toán phức tạp lên và code không tốt:
Bài toán tương đương với giải phương trình:
500.x + 200.y + 100.z = 10000
Trong đó giới hạn tập x,y,z:
x = {0, …,20}
y = {0, …,50}
z = {0, …,100}
Code đơn giản như vậy thôi:
if (total === 10000) {
result[numOfResult++] = {
x: x,
y: y,
z: z,
e không hiểu cái đoạn này. A có giải thích đc k ạ
Tạo ra 1 Object và gán giá trị x cho biến x, y cho biến y, z cho biến z. Sau đó gán Object cho result[numOfResult++]
Đấy là tớ viết tắt, nó tương đương với:
Thực ra còn tối ưu được đoạn code trên nữa nhưng bạn cứ làm như vậy là ok rồi.