Lặp trong C++: Hướng dẫn toàn diện về vòng lặp

Lặp trong C++: Hướng dẫn toàn diện về vòng lặp

1. Vòng lặp while


int dem = 1, tong = 0;
   while(dem <= 100)
   {
       tong = tong + dem;
       dem++;
   }
   cout << tong << endl;
   return 0;
    

2. Sử dụng while để tạo dãy Fibonacci


int gia_tri_truoc, gia_tri_hien_tai;
    gia_tri_truoc = 1;
    gia_tri_hien_tai = 1;
    int so_luong;
    cin >> so_luong;
   int dem = 0
   while(dem < so_luong - 1)  
   {
       int gia_tri_moi = gia_tri_truoc + gia_tri_hien_tai;
       gia_tri_truoc = gia_tri_hien_tai;
       gia_tri_hien_tai = gia_tri_moi;
       dem ++ ;
   }
   cout << gia_tri_truoc << endl;
    

3. Vòng lặp for

Cú pháp: for(khởi tạo-1; điều kiện-2; biểu thức-3){thân vòng lặp-4} Đường chạy:1->2->4->3->2


for(int index=0;index<10;index++)
    {
        cout << index << endl;
    }
    

3.1 Tính tổng từ 1 đến 100


int ket_qua = 0;
    for (int i=1;i<=100;i++){
        ket_qua = ket_qua + i;
    }
     cout << ket_qua << endl;
    

3.2 Sử dụng for để tạo dãy Fibonacci


int n, gia_tri_moi;
    cin >> n;
    int gia_tri_truoc = 1;
    int gia_tri_hien_tai = 1;
    for(int dem=0;dem

4. Thoát khỏi vòng lặp

4.1 break


int tong = 0;
    for(int dem=1;dem<=100;dem++)
    {
        if(dem>50) break;
        tong = tong + dem;
    }
    cout << tong << endl;
    

4.2 continue


int tong2 = 0;
    for(int dem=1;dem<=100;dem++)
    {
        int x = dem;
        x = x + dem;
        if(dem==50) continue;
        tong2 = tong2 + x;
    }
    cout << tong2 << endl;
    

5. Kiểm tra số nguyên tố


 //Kiểm tra n có phải là số nguyên tố
    int n;
    cin >> n;
    bool la_nguyen_to = true;
    
    for(int i=2;i<=n-1;i++){
        if(n%i==0)
        {
            la_nguyen_to = false;
            break;
        }
    }
        if(la_nguyen_to) cout << "co" << endl;
        else cout << "khong" << endl;
    

6. Tính tổng số lẻ và chẵn


int tong = 0 ;
    for(int i=1;i<=100;i++)
    {
        if(i%2) continue;
        tong = tong + i;
    }
    cout << tong << endl;
    

7. Vòng lặp lồng nhau


int n;
    cin >> n;
    for(int hang = 0; hang < n; hang++) {
        for(int cot = 0; cot < n; cot++) {
            cout << "* ";
        }
        cout << endl;
    }
    

8. In ma trận số


int n;
    cin >> n;
    for(int hang = 0 ,k=1; hang < n; hang++) {
        for(int cot = 0; cot < n; cot++) {
            printf("%5d ",k);
            k++;
        }
        cout << endl;
    }
    

9. In tất cả số nguyên tố từ 1 đến 100


for(int i=2;i<=100;i++){
        bool la_nguyen_to = true;
        for(int j=2;j

Tuy nhiên, trong thực tế, bạn có thể gặp vấn đề về thời gian chạy, đây là một phương pháp tối ưu cơ bản:


#include 
using namespace std;

int main() {
   int n;
   cin >>n;
   for(int i=1;i<=n;i++)
   {
       int num;
       bool la_nguyen_to = true;
       cin >> num;
       for(int j=2;j*j<=num;j++){
           if(num%j==0){
               la_nguyen_to = false;
               break;
           }
       }
       if(la_nguyen_to) cout << num << " la nguyen to" << endl;
       else cout << num << " khong phai nguyen to" << endl;
   }
}
    

10. In hình thoi

10.1 Phương pháp đơn giản


int n, khoang_trang, sao;
    cin >> n;
 //Tính hàng giữa, để xác định số sao tối đa
    int giua = (n / 2) + 1;
    // In nửa trên
    for (int i = 1; i <= giua; i++) {
        khoang_trang = giua - i;
        sao = 2 * i - 1;
        for (int j = 1; j <= khoang_trang; j++) {
            cout << " ";
        }
        for (int j = 1; j <= sao; j++) {
            cout << "*";
        }
        cout << endl;
    }
    // In nửa dưới
    for (int i = giua - 1; i >= 1; i--) {
        khoang_trang = giua - i;
        sao = 2 * i - 1;
        for (int j = 1; j <= khoang_trang; j++) {
            cout << " ";
        }
        for (int j = 1; j <= sao; j++) {
            cout << "*";
        }
        cout << endl;
    }
    

10.2 Phương pháp Manhattan

Phương pháp này khá phức tạp, tôi sẽ viết một bài chi tiết về cách suy luận sau.


int n;
    cin >> n;
    int x = n /2 ,y = n/2;
    for(int i=0;i

Thẻ: vong-lap-c++ lap-trinh-c++ cau-truc-lap fibonacci nguyen-to

Đăng vào ngày 30 tháng 5 lúc 14:53