Sự khác biệt giữa hàm inline và macro trong C++

* Khác nhau
+ macro: bản chất là sự thay thế => thay thế bao nhiêu thì tùy thích vào người lập trình
Hay xuất hiện lỗi, phải hiệu chỉnh lại bằng các dấu ngoặc
+ inline: cũng là sự thay thế, nhưng các tham số truyền vào hàm đã được tính toán hết rồi => không xuất hiện lỗi khi thiếu dấu ngoặc như macro. Tuy nhiên, inline là thay thế ít, rất ít (không thay thế vô biên như macro).
inline chỉ là một gợi ý cho trình biên dịch thôi. Về cơ bản nếu trình biên dịch bỏ qua nó thì nó biến thành hàm thông thường.

Kết nối cơ sở dữ liệu Access với C#

Streamline is a good program for students who is learning English

Cách cài đặt Vietnamese Calendar v3.0 của Phan Hải Tú trên Win 8

Phiên bản Vietnamese Calendar v3.0 không chạy trên Win 8 mà chỉ chạy trên Win 7. Như vậy, để chương trình hoạt động đúng trên Win 8 thì phải làm như sau:
– Trước khi cài đặt: Vào properties của file setup chọn Run ở chế độ Win 7
– Sau khi cài đặt: Vào thư mục đã cài đặt trên ổ C: Vào properties của file setup chọn Run ở chế độ Win 7

Download: http://www.mediafire.com/download/nemmwo2mezm/Vietnamese+Calendar+v3.0.0+Installer.rar

Ứng dụng cây nhị phân tìm kiếm trong bài toán biểu diễn phân số a/b dưới dạng số thập phân vô hạn tuần hoàn

Độ phức tạp để xây cây nhị phân tìm kiếm là:
log1 + log2 + … + logk = O(k*logk)

Độ phức tạp để tìm kiếm một phần tử: log1 + log2 + … + logk = O(k*logk)

Nếu sử dụng thuật toán bình thường để tìm kiếm thì độ phức tạp là:
1 + 2 + … + k = k(k+1)/2 = O(k^2)

Bạn có thể sửa lại code sau để xây dựng thuật toán mới bằng cách sử dụng Cây nhị phân tìm kiếm: https://tosonnguyen.wordpress.com/2014/05/25/bieu-dien-phan-so-ab-duoi-dang-so-thap-phan-vo-han-tuan-hoan/
(sửa code ở đoạn này for(it = L.begin(); it != L.end(); it++){)

Chú ý riêng: Trong toán học thì:
log1 + log2 + … + logk = logk!

Biểu diễn phân số a/b dưới dạng số thập phân vô hạn tuần hoàn

Biểu diễn phân số a/b dưới dạng số thập phân vô hạn tuần hoàn.

Đây là đề thi của Đại học Nha Trang.

Đề bài câu 1: http://clbth.ntu.edu.vn/phpbb/viewtopic.php?f=23&t=306&p=889&sid=77d0d20536df3846d823c82a0d4bcdf0#p889

Code:

#include<cstdio>
#include<iostream>
#include<list>

using namespace std;
int T, a, b, q, r, rr,rrr;
list<int> L;
bool isok;

int main(){
   list<int>::iterator it ;
   freopen("TEST.INP","r",stdin);
   freopen("TEST.OUT","w",stdout);
   cin >> T;
   for(int t = 0; t < T; t++){
      cin >> a >> b;
      L.clear();
   
      if(a >= b){
         cout << a / b;
         r = a - (a / b) * b;
      }
      else{
         cout << "0";
         r = a;
      }
      cout << ".";
      if(r == 0){
         cout << "0";   
      }
      // tim chu ki tuan hoan
      rr = r;
      L.push_back(r);
      while(true){
         if(r == 0) break;
         if(r < b){
            r *= 10;
         }
         if(r >= b){
            r = r - (r / b) * b;
         }
         isok = false;
         for(it = L.begin(); it != L.end(); it++){
            //cout << "it = " << *it << " r = " << r << endl;
            if(*it == r){
               rrr= r;
               isok = true;
               break;   
            }
         }
         if(isok) break;
         L.push_back(r);
      };
      // in lai ket qua
      L.clear();
      L.push_back(rr);
      r = rr;
      while(true){
         if(r == 0) break;
         if(r == rrr){
            cout << "(";
         }
         if(r < b){
            r *= 10;
         }      
         cout << r / b;
         if(r >= b){
            r = r - (r / b) * b;
         }
         isok = false;
         for(it = L.begin(); it != L.end(); it++){
            //cout << "it = " << *it << " r = " << r << endl;
            if(*it == r){
               isok = true;
               break;   
            }
         }
         if(isok) break;
         L.push_back(r);
      };
      if(r!= 0) cout << ")";
      cout << endl;
   }
   return 0;   
}

Xóa phần mềm được cài bằng file .deb trong Ubuntu

sudo dpkg -r teamviewer

Follow

Get every new post delivered to your Inbox.