Bài đăng

How to fix "Rel: can't make C:\... relative to F:\.." Arduino IDE

Hình ảnh
Nguyên nhân: lỗi này thường xảy ra với Arduino IDE 1.6.8 trở lên, do bộ nhớ cache của thư viện lõi. Nếu bạn biên dich lần đầu thì sẽ không xảy ra lỗi mà nó chỉ xuất hiện khi bạn tiếp tục biên dịch lại. Cách khác phục: Chọn File > Preferences (Ctrl + Comma), sau đó bỏ chọn Aggressively cache complied core.

Fix "Fatal error in launcher: Unable to create process using..."

Hình ảnh
B1: Search "View advanced system settings" trong Cortana B2: Chọn Environment Variables... trong System Properties B3: Chọn Path trong System variables và Edit B4: Cửa sổ Edit environment variable xuất hiện Như vậy ta có thể thấy lỗi "Fatal error in launcher" ở đây là do hệ thống có 2 file C:\Python27\Scripts và C:\Python3\Scripts, bạn muốn sử dụng pip của bản nào thì giữ nguyên bản đó và xóa bản còn lại và ấn OK để hoàn tất cài đặt!!!
Updating...

Bài toán n quân hậu (n Queens)

Hình ảnh
Tiếp tục series về giải thuật đệ quy , mình giới thiệu các bạn về bài toán n quân hậu (n Queens). Đối với bạn đã từng chơi cờ vua thì chắc các bạn cũng hình dung ra bài toán như thế nào và cũng biết cách giải quyết vấn đề đó trên bàn cờ, hôm nay mình sẽ giải quyết nó bằng ngôn ngữ lập trình. Cụ thể là thuật toán quay lui. Giới thiệu đôi chút về bài toán: Cho bàn cờ kích thước nxn và n con hậu, hãy tìm cách đặt n con hậu trên bàn cờ sao cho n con hậu không ăn được nhau, quân hậu trong bàn cờ vua có thể đi thẳng, ngang, chéo trên khắp bàn cờ nhé!. Hình bên dưới là một trường hợp bàn cờ vua kích thước 8x8 và 8 con hậu được đặt vào vị trí thỏa mãn bài toán mà thuật giải tìm được (hình ảnh được lấy từ Wikipedia ). +expand source //bài toán n quân hậu //lưu ý hàng, cột bắt đầu từ 0 đến n-1 void  Queen( int  a[],  int  n,  int  r) //mảng a[] để lưu giá trị...

Bài toán Sudoku

Hình ảnh
Trong bài này mình sẽ hướng dẫn các bạn giải bài toán siêu kinh điển Sudoku bằng giải thuật quay lui. Cách chơi: Bàn cờ hình vuông được chia làm 9x9 ô vuông nhỏ, trong đó có một số ô vuông được đánh số từ 1->9 trước. Nhiệm vụ của chúng ta là điền tiếp các số từ 1->9 vào các ô còn lại sao cho: hàng ngang, hàng dọc và các khối vuông 3x3 của bàn cờ là các số khác nhau từ 1->9 (Hình ảnh được lấy từ wikipedia ). Ý tưởng: Ta coi Sudoku là một ma trận 9x9 và dùng giải thuật quay lui để thử từng giá trị vào các ô trống theo từng hàng. Code C/C++ bool Feasible( int  a[][9],  int  x,  int  y,  int  k) {   for  ( int  i = 0; i     if  (k == a[x][i])  return  0;    if  (k == a[i][y])  return  0;  }   for  ( int  i = x / 3 * 3; i     for  ( int  j = ...

BubbleSort (Thuật toán nổi bọt)

Code C++ void   swap ( int  &x,  int  &y) {     x = x ^ y;     y = x ^ y;     x = x ^ y; } void  BubbleSort(  int  array[],  int  l,  int  r ) {      for ( int  i = l; i      {          int  m = 0;          for ( int  j = r; j >= i + 1; j--)         {              if (array[j - 1] > array[j])              {                  swap (array[j...

InsertSort (Thuật toán chèn)

Code C/C++ //Thuật toán chèn (InsertSort) void  InsertSort( int  array[],  int  l,  int  r) {      for  ( int  i = l + 1; i      {          int  m = array[i];          int  j = i - 1;          while  (j >= l && array[j] > m)         {             array[j + 1] = array[j];             j--;         }         array[j + 1] = m;     } }