「RdOI R1」一次函数(function)
题目背景
请使用较快的读入方式。
众所周知,一次函数的解析式如下:
y = k x + b y=kx+b y=kx+b
或者,我们可以表示为:
f ( x ) = k x + b f(x)=kx+b f(x)=kx+b
这个就是一次函数的解析式,下文中用到的解析式均用 y = k x + b y=kx+b y=kx+b 表示。
题目描述
设 S k S_k Sk 表示直线 l k 1 : y = k x + k − 1 l_{k1}:y=kx+k-1 lk1:y=kx+k−1, l k 2 : y = ( k + 1 ) x + k l_{k2}:y=(k+1)x+k lk2:y=(k+1)x+k 与 x x x 轴围成的三角形的面积,求:
∑ i = 1 n S i \sum_{i=1}^nS_i i=1∑nSi
本题中,共有 t t t 次询问,每次询问给出 n i n_i ni,求上式在 n = n i n=n_i n=ni 时的取值。
若 n < 1 n<1 n<1,该和式的值视作 0 0 0。
输入格式
一共 t + 1 t+1 t+1 行。
第一行,一个整数 t t t,表示有 t t t 组测试数据。
接下来 t t t 行,每行一个整数 n i n_i ni,含义如题面所述。
输出格式
一共 t t t 行。
每一行,每行一个数表示你所求得的答案。
结果可能是分数,请约分至最简分数,分数请用 xxx/xxx
表示,如
1
2
\dfrac{1}{2}
21 表示为 1/2
,
2
4
\dfrac{2}{4}
42 表示为 1/2
,请注意约分。
注:若答案为
0
0
0,请输出 0
。
样例 #1
样例输入 #1
2
0
1
样例输出 #1
0
1/4
提示
【样例解释】
当 n = 0 n=0 n=0 时,根据题意,输出 0 0 0。
当 n = 1 n=1 n=1 时, S 1 S_1 S1 就是 y = x y=x y=x、 y = 2 x + 1 y=2x+1 y=2x+1 与 x x x 轴所夹面积,为 1 4 \dfrac{1}{4} 41。
【数据范围】
- 对于 5 % 5\% 5% 的数据, t ≤ 100 , n = 0 t \le 100,n=0 t≤100,n=0。
- 对于另外 20 % 20\% 20% 的数据, t ≤ 100 , n ≤ 2020 t \le 100,n \le 2020 t≤100,n≤2020。
- 对于另外 20 % 20\% 20% 的数据, t ≤ 5 × 1 0 4 , n ≤ 5 × 1 0 3 t \le 5 \times 10^4,n \le 5 \times 10^3 t≤5×104,n≤5×103。
- 对于 100 % 100\% 100% 的数据, 1 ≤ t ≤ 2 × 1 0 6 , 0 ≤ n ≤ 2 × 1 0 6 1 \le t \le 2 \times 10^6,0 \le n \le 2 \times 10^6 1≤t≤2×106,0≤n≤2×106。
【说明/提示】
- 建议画图思考。
- 请注意输出答案的时候约分。
- 请使用较快的读入方式。
【文件读入读出】(模拟,提交代码时不需使用)
- 文件名:
function.cpp
- 读入文件名:
function.in
- 读出文件名:
function.out
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容