Tuesday, April 7, 2015

Bài 42

Bài 42: 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 S(k) được định nghĩa như sau: S(k) = 1 + 2 + 3 + ... + k

//========================================
//Cách 1

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

void main()
{
    int n;
    scanf("%d", &n);
    int S = 0;
    int k = 0;
    while (S + (k+1) < n)
    {
        k = k + 1;
        S = S + k;
    }
    printf("%d", k);
}

//========================================
//Cách 2
/*
#include <stdio.h>
#include <conio.h>

int LonNhat(int);
void main()
{
    int n;
    scanf("%d", &n);
    int kq = LonNhat(n);
    printf("%d", kq);
}

int LonNhat(int l)
{
    int S = 0;
    int k = 0;
    while (S + (k+1) < l)
    {
        k = k + 1;
        S = S + k;
    }
    return k;
}
*/

No comments:

Post a Comment