Hoán đổi hai số trong Python bằng cách sử dụng biến thứ ba

Trong lập trình, hoán đổi ngôn ngữ có nghĩa là hoán đổi giá trị của hai biến. Biến có thể chứa một số, chuỗi, danh sách hoặc mảng, đối tượng, v.v. Cách hoán đổi chung là sử dụng một biến tạm thời để giữ các giá trị. Ví dụ,

Hoán đổi hai số trong Python bằng cách sử dụng biến thứ ba

Các bước chung để hoán đổi hai số là

  • Khai báo biến tạm thời C
  • Gán giá trị của A cho C, nghĩa là C = A. Bây giờ C = 20
  • Gán giá trị của B cho A, Vậy A = 30
  • Gán giá trị của C cho B, Vậy B = 20, vì C có giá trị 20

Đó là cách hoán đổi được thực hiện với sự trợ giúp của một biến tạm thời. Phương pháp này cũng sẽ hoạt động cho cả số nguyên và số float

Trong hướng dẫn này, bạn sẽ học

Hoán đổi bằng phương trình số học

Như chúng ta đã biết, hoán đổi có nghĩa là trao đổi nội dung của hai đối tượng hoặc trường hoặc biến. Hoán đổi sử dụng phép toán số học nghĩa là thực hiện phép hoán đổi sử dụng phương trình toán học, i. e. , cộng và trừ

Nếu chúng tôi được cung cấp hai số và được yêu cầu hoán đổi mà không sử dụng biến tạm thời, thì sử dụng ba phương trình số học, chúng tôi có thể hoán đổi các số

Mã giả để đổi số bằng phép toán số học

A = A + B
B = A - B
A = A - B

Giả sử chúng ta có hai số, A = 20 và B = 30

Điều kiện 1. A = A+B

Vì vậy, giá trị hiện tại của A là 20+30 = 50

Điều kiện 2. B = A-B

Bây giờ, B = 50-30 = 20
Chúng ta có thể thấy rằng chúng ta đã nhận được giá trị của A trong B

Điều kiện 3. A = A-B

Cuối cùng, A = 50-20 = 30
A có giá trị ban đầu là B

Vì vậy, chúng tôi chỉ trao đổi các số

Đây là chương trình hoán đổi hai số trong C/C++

#include<stdio.h>
int main()
{
	int a, b;
	printf("Enter value of A: ");
	scanf("%d", & a);
	printf("Enter value of B: ");
	scanf("%d", & b);
	printf("A = %d, B = %d", a, b);
	a = a + b;
	b = a - b;
	a = a - b;
	printf("\nNow, A = %d, B = %d", a, b);
}

đầu ra

Enter value of A: 20
Enter value of B: 30
A = 20 , B = 30
Now, A = 30 , B = 20

Chương trình trong Python

a = int(input("Enter value of A: "))
b = int(input("Enter value of B: "))
print("A = {} and B = {}".format(a, b))
a = a + b
b = a - b
a = a - b
print("Now, A = {} and B = {}".format(a, b))

đầu ra

Enter value of A: 20
Enter value of B: 30
A = 20 , B = 30
Now, A = 30 , B = 20

Bây giờ trong Python, chúng ta thậm chí không cần thực hiện các phép toán số học. chúng ta có thể sử dụng

a,b = b,a

Đây là minh họa trong đó a=20, b=30;

Hoán đổi hai số trong Python bằng cách sử dụng biến thứ ba

Hoán đổi sử dụng Toán tử Bitwise XOR

Phương pháp này còn được gọi là hoán đổi XOR. XOR có nghĩa là độc quyền HOẶC. Chúng tôi lấy hai bit làm đầu vào cho XOR trong thao tác theo bit này. Để có một đầu ra từ XOR, chỉ một đầu vào phải là 1. Nếu không, đầu ra sẽ là 0. Bảng sau đây hiển thị đầu ra cho tất cả các kết hợp đầu vào A B

Chúng ta cần biết thao tác XOR hoạt động như thế nào để hoán đổi hai số bằng thao tác bitwise. Đây là bảng cho XOR trong đó A và B là giá trị đầu vào

ABA XOR B000011101110

Nếu hai đầu vào có cùng giá trị, thì phép toán XOR cho kết quả 0; . Đối với ví dụ này, chúng tôi sẽ sử dụng thao tác 3 XOR. Trong hầu hết các ngôn ngữ lập trình, XOR được ký hiệu là “^”

Giả sử A=4 (ở dạng nhị phân = 0100) và B=7 (ở dạng nhị phân, 0111)

Điều kiện 1. Một = Một ^ B

A0100B0111A^B0011

Bây giờ, A = 0011 (ở dạng nhị phân)

Điều kiện 2. B = A^B

A0011B0111A^B0100

Vậy B = 0100, là giá trị nhị phân ban đầu của A

Điều kiện 3. A = A^B

A0011B0100A^B0111

Cuối cùng, A = 0111, là giá trị nhị phân tương đương của B

Chương trình trong C/C++

#include<stdio.h>
int main()
{
	int a, b;
	printf("Enter value of A: ");
	scanf("%d", & a);
	printf("Enter value of B: ");
	scanf("%d", & b);
	printf("A = %d, B = %d", a, b);
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("\nNow, A = %d, B = %d", a, b);
}

đầu ra

Enter value of A:4
Enter value of B:7
A=4, B=7
Now, A=7, B=4.

Chương trình trong Python

a = int(input("Enter value of A: "))
b = int(input("Enter value of B: "))
print("A = {} and B = {}".format(a, b))
a = a ^ b
b = a ^ b
a = a ^ b
print("Now, A = {} and B = {}".format(a, b))

đầu ra

________số 8_______

Hoán đổi số bằng Bitwise-Arithmetic

Phương thức này giống như phương thức số học, nhưng chúng ta sẽ sử dụng các phép toán Bitwise như AND, OR và Compliment để thực hiện phép cộng và phép trừ. Trước khi đến các bước, hãy cùng xem qua “Lời khen” cho nhanh

Phần bù của 1 có nghĩa là thay đổi tất cả 0 thành 1 và 1 thành 0. Hãy lấy một ví dụ

  • Giả sử một số   23, một số thập phân
  • Chuyển đổi sang nhị phân sẽ sử dụng 10111. Chỉ có 5 bit, nhưng máy tính lưu trữ số trong 8,16,32,64. chút ít. Vì vậy, hãy thêm số 0 vào trước số nhị phân. Nó sẽ không thay đổi giá trị ban đầu của số. Vì vậy, nó sẽ trở thành 00010111
  • Như chúng ta đã biết, phần bù của 1 có nghĩa là đổi tất cả các số 0 thành 1 và 1 thành 0, vì vậy thực hiện phần bù 1 trên 00010111 sẽ được 11101000

Phần bù 1 này được thể hiện bằng ký hiệu “~” trong hầu hết các ngôn ngữ lập trình. Đặt ký hiệu này trước bất kỳ giá trị số nguyên hoặc giá trị dấu phẩy động nào sẽ cho phần bù 1

Và phần bù 2 có nghĩa là thêm nhị phân "1" vào phần bù 1. Nếu chúng ta thực hiện phần bù 2 cho số trên

  • Nhị phân = 00010111
  • phần bù của 1 = 11101000
  • phần bù của 2

11101000

+       1

11101001

Vì vậy, phần bù của 2 là 11101001. Đây là nhị phân cho -23
Tóm lại, để thực hiện phép cộng 2 của một số A, nó sẽ giống như

phần bù 2 của A = (~A) + 1

Bây giờ, giả sử A=8 (nhị phân 00001000), B=10(00001010)

Điều kiện 1. A = (A & B) + (A. b)

Nó tương đương với A = A + B

A & B = 00001000 & 00001010 = 00001000

Một. B = 00001000. 00001010 = 00001010

Bây giờ, 00001000 + 00001010 = 00010010 (18 thập phân)

Vì vậy, A = 18

Điều kiện 2

B = A + (~B) + 1

Nó tương đương với B = A-B

Ở đây, B = A – B

Từ thảo luận trên, nếu cần thực hiện phép trừ, chúng ta thực hiện phép cộng 2 cho số âm rồi cộng

Làm cách nào để hoán đổi hai số trong python bằng cách sử dụng biến thứ ba?

Chương trình Python hoán đổi hai số bằng biến thứ ba .
Đầu vào
đầu ra
Đầu vào
đầu ra
Bước 1. Xác định một biến mới "temp" để lưu trữ các giá trị tạm thời
Bước 2. Lưu trữ giá trị của num1 trong temp
Bước 3. Gán giá trị của số thứ hai (num2) cho num1

Làm cách nào để hoán đổi 2 số nguyên a và b mà không sử dụng biến thứ 3?

Hãy xem một ví dụ c đơn giản để hoán đổi hai số mà không cần sử dụng biến thứ ba. .
#include.
int chính ()
int a=10, b=20;
printf("Trước khi hoán đổi a=%d b=%d",a,b);
a=a+b;//a=30 (10+20)
b=a-b;//b=10 (30-20)
a=a-b;//a=20 (30-10)

Làm cách nào chúng ta có thể hoán đổi hai số e 10 f 20 trong python mà không sử dụng biến thứ ba?

Chương trình Python hoán đổi hai số mà không cần sử dụng biến thứ ba .
Lấy các giá trị của cả hai yếu tố từ người dùng
Lưu trữ các giá trị trong các biến riêng biệt
Thêm cả hai biến và lưu trữ nó trong biến đầu tiên
Trừ biến thứ hai từ biến thứ nhất và lưu nó vào biến thứ hai

Làm cách nào để hoán đổi hai chuỗi trong python mà không cần sử dụng biến thứ ba?

Để hoán đổi nội dung của hai chuỗi (giả sử s1 và s2) mà không có chuỗi thứ ba, trước hết hãy nối chúng lại và lưu vào s1. Bây giờ, sử dụng phương thức substring() của lớp String để lưu trữ giá trị của s1 trong s2 và ngược lại .