Wednesday 30, Apr 2025
BÀI MỚI NHẤT
Friday, August 5, 2016

f Tìm k max để S(k) = 1 + 2 + 3 + … + k nhỏ hơn n

Đinh Quang Trưởng - Lập trình C/C++

Đề bài:
Cho n là số nguyên dương. Hãy tìm giá trị nguyên dương k lớn nhất sao cho S(k)  < n. Trong đó chuỗi k được định nghĩa như sau: S(k) = 1 + 2 + 3 + … + k

de bai

Dưới đây là đoạn code tham khảo:

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int i, n;
float S;
i = 0;
S = 0;
do
{
cout << "Nhap n: ";
cin >> n;
} while (n < 0 && cout << "Error: (n >= 0)\n");
while (S + i < n)
{
i++;         //tăng biến đếm
S = S + i;  // tương đương 1 dòng S += ++i;
}
cout << "\nGia tri k lon nhat de S(k) = 1 + 2 + ... + k < n la: " << i<<endl;
system("pause");
}
Dưới đây là kết quả chương trình.
ket qua chuong trình
Kết quả chương trình

Theo: Đinh Quang Trưởng