Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Với số nguyên dương ~n~, tính tổng:
$${S_n} = 1 + \frac{1}{2} + \frac{1}{3} + ... + \frac{1}{n}$$
Input
- Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
- ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~.
Giới hạn:
- ~1 ≤ T ≤ 10^5, 1 ≤ n ≤ 10^6~.
Output
- Với mỗi bộ test, ghi ra trên một dòng số ~S_n~ làm tròn đến ~5~ chữ số thập phân.
Sample
Input #1
3
1
5
100
Output #1
1.00000
2.28333
5.18738
Problem source: Chuyên Sơn La Online Judge
Bình luận
SUS
#include <bits/stdc++.h>
using namespace std; long long i,n,b; long double a[1000001]; void sang(){ a[0]=0.00000; for (i=1;i<=1e6;i++) a[i]=a[i-1]+(double)1 / i; } int main(){ sang(); iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0); cin>>n; while(n--){ cin>>b; cout<<setprecision(5) << fixed << a[b] << endl; } return 0; }
include <iostream>
include <iomanip>
include <vector>
using namespace std;
int main() { vector<long double> a(1000001); for (long double i = 1; i <= 1000000; i++) { a[i] = a[i - 1] + (double)1 / i; } long long t; cin >> t; while(t--){ long long b; cin >> b; cout << setprecision(5) << fixed << a[b] << "\n"; } }
include <iostream>
include <iomanip>
include <vector>
using namespace std;
vector<long double> a(1000001);
void sinh() { a[0] = 0.00000; for (long long i = 1; i <= 1000000; i++) { a[i] = a[i - 1] + (double)1 / i; } }
int main() { iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0); sinh(); long long n; cin >> n; while (n--) { long long b; cin >> b; cout << setprecision(5) << fixed << a[b] << "\n"; } return 0; }
Code da AC (code tu giahuy_367)
Code da AC
include <bits/stdc++.h>
using namespace std; long double a[1000001]; void sinh() { a[0] = 0.00000; for(long long i = 1;i <= 1000000;i++) { a[i] = a[i-1]+(double)1/i; } }
int main(){ iosbase::syncwith_stdio(0); cin.tie(0); cout.tie(0); sinh(); long long n; cin >> n; while(n--) { long long b; cin >> b; cout << setprecision(5) << fixed << a[b] << "\n"; } return 0; }
nice bro
TLE cuoi la gi the a
kiểu dữ liệu long long
test cuoi TLE kho qua ai giup mik voi
n <= 10^6 với t <= 10^5 thì babnj dùng cách sinh ra tất cả các đáp án ròi gọi lại là dc nhé b
ban noi lai di
bạn tạo 1 hàm f có độ lớn 10^5. và đó là tổng từ 1+1/2+...+1/n. và khi gọi n, ta chỉ cần gọi đến hàm f[i] là ra kết quả
t = int(input()); z = [0]t; for i in range(t): z[i] = int(input()); dp = [1](100005) for i in range(2,100005+1): dp[i] = dp[i-1]+1/i for i in z: res ='%.5f'% dp[i] print(res)
mình chưa hiểu ý bạn lắm phiền bạn nói kĩ hơn giúp mình