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

Kiểm tra số Pronic (số hình chữ nhật) C++

Số Pronic: Tích của 2 số nguyên liên tiếp: n = x(x+1). Các số đầu: 0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182...

Giải thuật

Duyệt i từ 0 đến √n. Nếu i×(i+1) == n → true.

Ví dụ minh họa

#include <iostream>
#include <cmath>
using namespace std;

bool isPronicNumber(int num) {
    for (int i = 0; i <= (int)sqrt(num); i++)
        if (num == i * (i + 1))
            return true;
    return false;
}

int main() {
    cout << "Cac so Pronic <= 200: ";
    for (int i = 0; i <= 200; i++)
        if (isPronicNumber(i))
            cout << i << " ";
}

Kết quả

Cac so Pronic <= 200: 0 2 6 12 20 30 42 56 72 90 110 132 156 182