NC200315. L-危险的台阶
描述
输入描述
第一行输入三个正整数,包括石板个数n(1<=n<=105),石板长度L(1<=L<=109),石板质量m(1<=m<=109)
输出描述
输出最右那一块石板的最右端距离悬崖边缘的最大距离(保留四位小数)
示例1
输入:
1 1 1
输出:
0.5000
C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 496K, 提交时间: 2019-12-07 21:52:06
#include<bits/stdc++.h> using namespace std; int main(){ double n,m,x; cin>>n>>m>>x; double p=0; for(int i=1;i<=n;i++){ p+=(double)1/i; } printf("%.4f",p*m/2); }
C(clang11) 解法, 执行用时: 2ms, 内存消耗: 384K, 提交时间: 2020-12-04 19:43:37
#include<stdio.h> int main() { double n,x,m,i,t=0,y=2,z; scanf("%lf%lf%lf",&n,&x,&m); z=x/2; for(i=0;i<n;i++,z=x/y){ t=t+z; y=y+2;} printf("%.4lf",t); }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 504K, 提交时间: 2019-12-07 22:56:05
#include<cstdio> int main(){ int n; double l,m,ans=0; scanf("%d%lf%lf",&n,&l,&m); for(int i=1;i<=n;++i){ ans+=l/(2*i); } printf("%.4lf",ans); return 0; }
Python3(3.5.2) 解法, 执行用时: 53ms, 内存消耗: 3548K, 提交时间: 2019-12-07 21:37:21
n, l, m = map(int, input().split()) d = 0.5 for i in range(1, n): d += 0.5 / (i + 1) print('%.4f' % (d * l))
Ruby(2.4.2) 解法, 执行用时: 66ms, 内存消耗: 4588K, 提交时间: 2019-12-07 22:57:30
N, L, M = gets.split.map(&:to_i) ans = 0 N.times do |n| ans += L.to_f / (2 * n + 2) end printf "%.4f\n", ans
pypy3(pypy3.6.1) 解法, 执行用时: 87ms, 内存消耗: 18916K, 提交时间: 2019-12-07 22:41:54
n,l,m=map(int,input().split()) ans=0 for i in range(1,n+1): ans+=1/i print("%.4f"%(ans*l/2))