Tính tổng nguyên: S = 1 + 1/2 + 1/3 + 1/4 +… 1/n

Yêu cầu: Nhập số tự nhiên n rồi tính tổng (lưu ý phép chia các số nguyên):

S = 1 + 1/2 + 1/3 + 1/4 +... 1/n ( n > 0)

Phân tích:

– Nhập vào số nguyên dương n (n > 0)

– Dùng vòng lặp for( ) để tính tổng S

Code:

/************************************************************
* Author: VNCODING
* History
* 2014/04/02        first create    VNCODING
*************************************************************/
#include <stdio.h>
#include <conio.h>

void main()
{
    int n,i;
    float S = 0;
    do
    {
        printf("\nNhap n > 0: ");
        scanf("%d",&n);
    }
    while (n <= 0);

    for(i = 1;i <= n;i++)
    {
        S +=1/(float)i;
    }
    printf("\nS = %f", S);
    getch();
}

Kết quả:

Nhap n > 0: 5
S = 2.283334

7 Comments on Tính tổng nguyên: S = 1 + 1/2 + 1/3 + 1/4 +… 1/n

    • @Tuan Anh,
      Xét phép toán a = b/c = 5/2 = 2
      Nếu b và c là số nguyên thì đây là phép chia lấy phần nguyên.
      Do vậy, cần ép kiểu cho b hoặc c là số thực kiểu float. Để phép chia a = b/c = 5/2 = 2.5

Leave a Reply

Your email address will not be published.

*