Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm cặp có thứ tự với tích nhỏ hơn N trong C++


Cho một số N. Mục tiêu là tìm các cặp có thứ tự của số dương sao cho tích của chúng nhỏ hơn N.

Ta thực hiện bằng cách bắt đầu từ i=1 đến i<N và j=1 đến (i*j)<N. Sau đó tăng count.

Hãy hiểu qua các ví dụ.

Đầu vào

N=4

Đầu ra

Cặp có thứ tự tích nhỏ hơn N: 5

Giải thích

Các cặp: (1,1), (1,2), (1,3), (2,1), (3,1)

Đầu vào

N=100

Đầu ra

Cặp có thứ tự tích nhỏ hơn N: 473

Giải thích

Các cặp: (1,1), (1,2), (1,3)... (97,1), (98,1), (99,1). Tổng 473.

Phương pháp sử dụng trong chương trình dưới đây

  • Nhận số nguyên N.
  • Hàm productN(int n) nhận n và trả về số cặp có thứ tự với tích < n.
  • Khởi tạo biến count = 0 cho cặp.
  • Duyệt bằng hai vòng lặp for để tạo cặp.
  • Bắt đầu từ i=1 đến i<n. Và j=1 đến (i*j)<n.
  • Tăng count 1.
  • Sau tất cả vòng lặp count chứa tổng số cặp như vậy.
  • Trả về count làm kết quả.

Ví dụ

#include <bits/stdc++.h>
using namespace std;

int productN(int n) {
    int count = 0;
    for (int i = 1; i < n; i++) {
        for(int j = 1; (i*j) < n; j++) {
            count++;
        }
    }
    return count;
}

int main() {
    int N = 6;
    cout << "Cặp có thứ tự tích nhỏ hơn N: " << productN(N);
    return 0;
}

Đầu ra

Nếu chạy mã trên sẽ cho kết quả sau:

Cặp có thứ tự tích nhỏ hơn N: 10