program Min; var a,S:real; n:integer; begin write('Nhap a: '); readln(a); S:=0; n:=0; while S<a do begin inc(n); S:=S+1/n; end; writeln('n la: ',n); readln end.
Bạn tham khảo nha :D Mình đã test thử và cho kết quả đúng.
#include<iostream> using namespace std; int main() { int n; float S; S = 0; do { cout<<"\nNhập vào số n: "; cin>>n; if(n < 1) { cout<<"\nSố n phải lớn hơn hoặc bằng 1, vui lòng nhập lại !"; } }while(n < 1); for(int i = 1; i <= n; i++){ S = S + 1.0 / i; } //while(i <= n) //{ // S = S + 1.0 / i; // i++; //} cout<<"\nTổng 1 + 1/2 + ... + 1/"<<n<<" là: "<< S;