Trạng thái

Đề bài

Sau khi học cơ bản về vòng lặp thì cô Linh có một bài tập hơi khó hơn như sau. Cô Linh có một số nguyên dương \(A\) cho trước và cô muốn biết số nguyên dương \(n\) lớn nhất sao cho \(1 + 2 + \dots + n\) không vượt quá \(A\). Bạn hãy giúp cô Linh nhé!

Yêu cầu: Tìm số nguyên dương \(n\) lớn nhất thỏa mãn \(1 + 2 + \dots + n \leq A\).

Dữ liệu vào

  • Một dòng duy nhất chứa số nguyên dương \(A \leq 10^6\).

Dữ liệu ra

  • In ra số nguyên dương \(n\) lớn nhất thỏa mãn điều kiện bài toán.

Sample Input 1

10

Sample Output 1

4

Sample Input 2

20

Sample Output 2

5

Giải thích

  • Công thức tổng của dãy số tự nhiên: \(S = \frac{n(n+1)}{2}\).
  • Với \(A = 10\), giá trị lớn nhất của \(n\) sao cho \(1 + 2 + 3 + 4 = 10\)\(n = 4\).
  • Với \(A = 20\), giá trị lớn nhất của \(n\) sao cho \(1 + 2 + 3 + 4 + 5 = 15\)\(1 + 2 + 3 + 4 + 5 + 6 = 21 > 20\), vậy \(n = 5\).
Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
250 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
A03 - Nhập môn: Cấu trúc lặp
Ngôn ngữ cho phép
C#, C++, Python