Mô tả bài toán
Số tam giác là số n có thể sắp xếp thành tam giác đều (1+2+...+k = n). Kiểm tra n có phải số tam giác không.
Ví dụ
n = 10 → 1+2+3+4 = 10 → True.
Thuật toán
Duyệt i từ 1 đến n, kiểm tra i*(i+1)/2 == n. Hoặc giải phương trình bậc 2: i^2 + i - 2n = 0, kiểm tra nghiệm nguyên dương.
Code C++
#include <bits/stdc++.h>
using namespace std;
bool solve(int n) {
for (int i = 1; i <= n; i++) {
if (i * (i + 1) == 2 * n)
return true;
}
return false;
}
int main() {
int n = 10;
cout << solve(n) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: 10
Output: 1 (true)