30/09/2018, 16:11
Cách giải thích hay nhất cho thuật toán gán không cần biến tạm!
a = a - b ;
b = a + b ;
a = b - a ;
Mọi người vào chém nào !
Bài liên quan
a = a - b ;
b = a + b ;
a = b - a ;
Mọi người vào chém nào !
1 số ngôn ngữ khác python,ruby,lua
nếu gán = cộng trừ có thể gây tràn số
kakka! pác cứ giải thích theo cách hiểu của bác về cú pháp mình viết trên
trong [ ] tượng trưng cho giá trị hiện tại của biến
sẽ giải đáp vào cuối topic ngày mai vậy
Thêm một cách ngắn gọn để mọi người tìm hiểu thêm (post ké topic phát đỡ phải tạo):
a ^= b ^= a ^= b;
giá trị a^ = b;
giá trị b^ = a^ = b;
giá trị a^=b;
eo, mấy thím post nhìn hoa mắt quá, e chả hiểu gì. T.T
Cứ dùng thêm 1 biến cho rõ con nhà bà ràng
Giờ máy tính bộ nhớ nhiều lắm, không phải lo tốn bộ nhớ
Haha, hôm trước mới thấy cái hình nói về vụ này. hài vãi =))
ko có cười nghen a Đạt! a giải thích đi! ko đc cười trừ
Cái này dễ mà, giống toán cấp 1 ý. lấy giấy ra vẽ
ví dụ: a = 4, b = 3 đi
a: |—|---|—|---|
b: |—|---|—|
a: |—|
b: |—|---|—|
a: |—|
b: |—|---|—|---|
a: |—|---|—|
b: |—|---|—|---|
Hợp lý, nhưng ở đây mình bắt đầu bằng phép trừ là an toàn rồi
ví dụ char a=0,b=255. limit [0,255] thì a-b sẽ nằm ngoài=> lỗi chương trình ??
a Đạt ác ghê! chúng ta sẽ cho đại 1 giá trị là đúng ở bước đầu tiên, bước thứ 2 ta sẽ cho b = a và a = b
cứ theo tính toán mà đổi dấu nếu chuyển vế! có thể giảng dễ hiểu bằng cách cho 2 biến bằng 2 giá trị bất kỳ! chugns ta sẽ thấy rõ kết quả!
tốt nhất tạo cái biến nữa đỡ phải cộng trừ không lo lỗi
bạn gió! ở đây mình dùng đó như 1 hàm riêng đổi chỗ thôi mà! tràn số thì do giá trị ta truyền vào giá trị gì thôi! đấy là 1 thuật toán mẹo logic! mình cũng mới biết thôi
Cái này làm cho vui vậy thôi chứ không ai dùng vì dùng biến tạm nhanh hơn, hiệu quả hơn, an toàn hơn hehe
với cả dùng biến tạm thì có 1 cái lợi là mình đẹp trai nữa a ạ
Hợp lý, 10 điểm về chỗ =))
e biết mà.
=====20 kí tự=====
khuya rồi hại não quá! cố lên