Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +…+ 1/(1+2+3+…+n)

Yêu cầu:
– Nhập vào số nguyên dương n
– Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +…+ 1/(1+2+3+…+n)

Giải thuật:
– Dùng vòng lặp for, do while để duyệt biến i từ 1 tới n
– Tính mẫu số p = p + i
– Tính tổng: s = s + 1/p

Code

/************************************************************
* Author: VNCODING
* History
* 2016/12/14        first create    VNCODING
*************************************************************/

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

int main()
{
	printf("S(n) = 1 + 1/(1+2) + 1/(1+2+3) +...+ 1/(1+2+3+...+n)\n");
	int i, n;
    unsigned int p = 0;
    float s = 0.0;
	do
	{
		printf("n = ");
		scanf("%d", &n);
	}while(n <= 0);
	
	for(i = 1; i <= n; i++)
	{
        p += i;
        s += 1.0/p;
	}
	printf("\nS(%d) = %f", n, s);
	getch();
	return 0;
}

Kết quả:

Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +...+ 1/(1+2+3+...+n)
Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +…+ 1/(1+2+3+…+n)

3 Comments on Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +…+ 1/(1+2+3+…+n)

Leave a Reply