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ả:
làm gì có float x đây ạ , Ad check lại đi ạ
Thank Nhat,
Đây là biến không cần thiết trong chương trình.
bài này nếu giải bằng đệ quy thì làm sao ạ