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 !

4 Likes

1 số ngôn ngữ khác python,ruby,lua

a,b=b,a

nếu gán = cộng trừ có thể gây tràn số :smile:

4 Likes

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 :smiley:

1 Like

trong [ ] tượng trưng cho giá trị hiện tại của biến

[a-b] [b]
[a-b] [(a-b) +b]
[(a-b)+b-(a-b)] [(a-b)+b]
3 Likes

sẽ giải đáp vào cuối topic ngày mai vậy :smiley:

1 Like

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;

3 Likes

giá trị a^ = b;
giá trị b^ = a^ = b;
giá trị a^=b;

1 Like

eo, mấy thím post nhìn hoa mắt quá, e chả hiểu gì. T.T

2 Likes

Cứ dùng thêm 1 biến cho rõ con nhà bà ràng :v:
Giờ máy tính bộ nhớ nhiều lắm, không phải lo tốn bộ nhớ

2 Likes

Haha, hôm trước mới thấy cái hình nói về vụ này. hài vãi =))

1 Like

ko có cười nghen a Đạt! a giải thích đi! ko đc cười trừ :smile:

1 Like

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 = a - b;

a: |—|
b: |—|---|—|

b = a + b ;

a: |—|
b: |—|---|—|---|

a = b - a ;

a: |—|---|—|
b: |—|---|—|---|

Hợp lý, nhưng ở đây mình bắt đầu bằng phép trừ là an toàn rồi :slight_smile:

1 Like

ví dụ char a=0,b=255. limit [0,255] thì a-b sẽ nằm ngoài=> lỗi chương trình ??

1 Like

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ả!

1 Like

tốt nhất tạo cái biến nữa :smile: đỡ phải cộng trừ :wink: không lo lỗi :wink:

1 Like

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 :wink:

1 Like

Cái này làm cho vui vậy thôi chứ không ai dùng :smile: 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 ạ

2 Likes

Hợp lý, 10 điểm về chỗ =))

1 Like

e biết mà.

=====20 kí tự=====

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?