Mục lục
Trong lập trình, chắc hẳn các bạn đều biết tới bài toán hoán vị kinh điển. Thông thường, các bạn sẽ dùng cách đặt biến tạm nhưng hôm nay mình sẽ đưa ra 1 số phương pháp Hoán vị 2 số không dùng biến tạm.
Mình sử dụng ngôn ngữ lập trình C để viết code minh họa
Cách 1. Hoán vị 2 số sử dụng biến thứ 3 để lưu giá trị tạm
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { int a = 10, b = 5, temp; printf("a = %d, b = %d", a, b); // Swap a and b: temp = a; a = b; b = temp; printf("\na = %d, b = %d", a, b); return 0; } |
Cách 2. Hoán vị 2 số sử dụng toán tử + và –
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { int a = 10, b = 5; printf("a = %d, b = %d", a, b); // Swap a and b: a = a + b; b = a - b; a = a - b; printf("\na = %d, b = %d", a, b); return 0; } |
Cách 3. Sử dụng toán tử * và /
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { int a = 10, b = 5; printf("a = %d, b = %d", a, b); // Swap a and b: a = a * b; b = a / b; a = a / b; printf("\na = %d, b = %d", a, b); return 0; } |
Cách 4. Sử dụng toán tử XOR
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { int a = 10, b = 5; printf("a = %d, b = %d", a, b); // Swap a and b: a = a ^ b; b = a ^ b; a = a ^ b; printf("\na = %d, b = %d", a, b); return 0; } |
Leave a Reply