#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long n, k;
cin >> n >> k;
cout << min(n, (long long) ((1 + sqrt(24.0*k + 1)) / 6));
}
`* C++:`
`" "`
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long N, K;
cin >> N >> K;
double quan = (0.5 + sqrt(0.25 + 6 * K)) / 3;
cout << int(quan);
return 0;
}
`" "`
`*` Số lượng kẹo của học sinh thứ `1` đến `n` tạo thành cấp số cộng với công sai `d = 3`
`*` Em đầu tiên nhận được `1` viên kẹo: `u_1 = 1`
`*` Em tiếp theo nhận nhiều hơn em trước đó 3 viên: `d = 3`
`*` `u_n`: Số kẹo người cuối cùng thứ `n` nhận được
`*` Số kẹo thầy mang: `K` (K là 1 số nguyên dương)
`" " `
`*` Theo nguyên tắc phát đúng, tổng số kẹo thầy Phú đã phát để không thừa cho người tiếp theo: `S` `(S ≤ K)`
`*` Với số hạng đầu bằng `u_1`, công sai `d`, số hạng cuối `u_n` thì tổng từ `u_1` đến `u_n` là `S =` `n.u_1 + (n(n - 1)) / 2 . d ` với n là số nguyên có giá trị lớn nhất sao cho `S ≤ K`
`*` `S = n.1 + (n(n - 1)) / 2 . 3` `→ n + (n(n - 1)) / 2 . 3 ≤ K`
`" "`
`*` Xét phương trình: `y = 3/2n^2 - 1/2n - K `
`*` `Δ = b^2 - 4ac = (-1/2)^2 - 4(3/2)(-K) = 1 / 4 + 6K > 0` (Vì `K` là `1` số nguyên dương)
`*` Vì `Δ > 0` nên phương trình luôn có hai nghiệm là `n_1` và `n_2`
`*` Với:
`*` `n_1 = (-(-1/2) - sqrt(Δ)) / (2.(3/2)) = (1 / 2 - sqrt(1 / 4 + 6K )) / 3`
`*` `n_2 = (-(-1/2) + sqrt(Δ)) / (2.(3/2)) = (1 / 2 + sqrt(1 / 4 + 6K )) / 3`
`*` Hệ số `a = 3/2 > 0`
`*` Lập bảng xét dấu (Quy tắc trong trái ngoài cùng):
`*` `y > 0` với `∀n ∈ (-∞; n_1) ∪ (n_2; +∞)`
`*` `y = 0` với `n = n_1` và `n = n_2`
`*` `y < 0` với `∀n ∈ (n_1; n_2)`
`" "`
`*` Xét phương trình: `3/2n^2 - 1/2n - K≤ 0`
`*` Để `3/2n^2 - 1/2n - K = 0` thì `n = n_1` hoặc `n = n_2`, vì `n` là số thứ tự cuối cùng của người được phát kẹo nên `n` phải là `1` số nguyên, vì `K` cũng là `1` giá trị nguyên nên `n_1` và `n_2` không thể mang giá trị nguyên
`*` Trường hợp còn lại: `3/2n^2 - 1/2n - K< 0`, `n ∈ (n_1; n_2)`. Vậy n là số nguyên lớn nhất nhỏ hơn `n_2` để là số thứ tự người cuối cùng được phát kẹo
`" "`
`*` Nếu số kẹo dư để phát cho N người thì đưa ra giá trị N, ngược lại in gia trị nguyên lớn nhất nhỏ hơn `n_2`
Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!
Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!
Copyright © 2024 Giai BT SGK