Em làm theo bài giảng của thầy Hoán vị chuỗi ký tự nhập từ bàn phím static boolean[] check = new boolean[100]; static String[] hoanvi = new String[100]; public static void timHoanVi(String[] a, int k, int n) { for (int i = 0; i < n; i++) { if (check[i]) { hoanvi[k] = a[i]; if (k == n-1) { //in hoan vi for (int j = 0; j < n; j++) { System.out.print(hoanvi[j]); } System.out.print(" "); } else { check[i] = false; timHoanVi(a, k + 1, n); check[i] = true; } } } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("n = "); int n = scanner.nextInt(); scanner.nextLine(); String[] a = new String[n]; for (int i = 0; i < n; i++) { check[i] = true; } for (int i = 0; i < n; i++) { System.out.printf("a[%d] = ", i); a[i] = scanner.nextLine(); } timHoanVi(a, 0, n); }
@hoangphuc899 Жыл бұрын
à em hiểu rồi anh ơi, lúc mà gọi đệ quy lần thứ nhất để đặt 1 phần tử vào vị trí thứ 2 của 1 hoán vị ấy, lúc đó đang là 1_ thì do số 1 đã dc đánh dấu là false nên sẽ ko dc đặt vào lúc này vòng lặp mới tăng lên là i = 2, số 2 này chưa dc sử dụng nên mới dc đặt vào do đó ta có kết quả đầu tiên của hoán vị là 1 2
@huyvan92422 жыл бұрын
Cho e hỏi 1 câu tế nhị ạ ! Thầy đang làm gì hiện tại cụ thể là vị trí gì của ngành IT .Thầy có thể chia sẻ kinh nghiệm về vị trí mà thầy đang làm dc ko ạ 😄
@TITVvn2 жыл бұрын
Bạn xem phần giới thiệu website hoặc trên kênh KZbin đã có ghi.
@tbhp-kc6jx4jg6i5 ай бұрын
Em gửi phần bài tập ạ #include #include char hoanVi[100]; bool check[100]; char kiTu[100]; void printHoanVi(char hoanVi[100],int n){ for(int i = 0;i
@tprunuspersicav8839 Жыл бұрын
cho em hỏi thầy live ở đâu ạ
@TITVvn Жыл бұрын
Mình ở châu âu
@HieuTran-ej4yn2 жыл бұрын
mấy bài cuối khó quá thầy ạ :((
@hoangphuc899 Жыл бұрын
sao bắt đầu từ bài tháp hà nội trở đi khó hiểu quá anh ơi😢