1. Bài tập tìm số lớn nhất sao cho S(k) nhỏ hơn n trong C

Bài tập cơ bản này ta có thể có hướng giải quyết là sử dụng vòng lặp while trong ngôn ngữ lập trình C.

Đầu vào sẽ là một biến nguyên n,  yêu cầu của bài toán là 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.

2. Lời giải

Để giải được bài tập 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 bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản.

Các bước thực hiện bài toán như sau:

Bước 1: Khai báo biến int n để gán giá trị của n, khai báo biến float S =0 đển tính tổng của dãy S(k).

Bước 2: Ta sẽ sử dụng vòng lặp while với một biến int i = 0 , điều kiện dừng khi S+i < n-1 .

Bước 3: Trong vòng lặp ta cho mỗi lần i tăng lên 1, biến S tăng lên i.

Bước 4: In biến S ra màn hình.

Chương trình giải bài tập 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 như sau :

#include<stdio.h>
#include<conio.h>

int main()
{
    //khai bao bien n
    int n;
    //khai bao bien S
    float S=0;
    do//nhap du lieu gan vao bien n neu n<= 0 yeu cau nhap lai
    {
        printf("\nNhap n: ");
        scanf("%d", &n);
    }while(n < 0 && printf("nhap lai n(n >= 0)\n"));
    int i=0;//i bat dau tu 0
    while(S + i < n-1)//vong lap ket thuc khi S+i<n-1
    {
        i++;//moi lan lap bien i tang len 1   
        S = S + i;// moi lan lap S tang len i
    }
    printf("\nGia tri k lon nhat de S(k) = 1 + 2 + ... + k < %d la %d", n,i);
}

Ví dụ tôi nhập n=20

Kết quả:

Nhap n: 20

Gia tri k lon nhat de S(k) = 1 + 2 + … + k < 20 la 5

3. Tổng kết

Để thực hiện giải bài tập 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 bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp trong C và các phép toán học cơ bản.