###原题如下:###

陈A歹种植一批农作物,第一天需要浇水一次,随后的两天(第2、第3天),每天需要浇水2次,再随后的3天(第4、第5、第6天),
需要每天浇水3次,这样持续下去,随后的n天,每天需要浇水n次。请问在100天里,总共浇了多少次水()
A. 994
B. 996
C. 995
D. 945

题目分析: 对于这道题我们要先求出这100天一共有几轮,再求出每一轮浇水的平方之和。 题目解答 由于1~n是一串连续的数字可以用等差数列求和公式来求,首是1,尾和项设为n,设等式的结果为100; $(1 + n)·n\over(2)$ = 100结果向下去整后为13。再带入公式得出91,用100减91得出浇十四次水的有九天,再用平方和公式13(13 + 1)(26 + 1)/6得到819再加上9天浇14次水也就是9×14=126,819+126 = 945。故答案选D。

###原题如下:###

如果a为int类型的变量,下列那个表达式可以正确求出满足“小于等于a且是4的倍数”的整数中最大的?()
A.(a & (~3))
B.((a << 2) >> 2)
C.(a ^ 3)
D.((a - 1) | 3) + 1

题目分析: 由于符合题目要求的式子有很多所以本题用代入法来做 对于选项A 先将常数值~3算出来由于a的二进制不一定有多少位所以我们先拟定3的二进制为00……0011,再按位取反得到11……1100,我们先尝试6,6的二进制是110有3位,所以之前拟定时三的位数也变为三位,取反后得到100,再与110按位与得到100,转为十进制后为4,符合原题。 对于选项B 这个式子相当于把a的二进制后面增加两个零再减少两个零,与原题不符还会溢出。 对于选项C 是求a的3次方,也与原题不符。 对于选项D 在尝试9的时候a - 1 = 8,8 的二进制是1000,1000 与3的二进制11按位或后求出1011,十进制下为11,11 + 1 = 2,与原题不符,正确答案为8。 所以答案为A。 以下为图片解析 图1.png

浮点数的表示格式

浮点数通常由三部分组成:符号位、指数位、和小数位。在IEEE754标准中,这通常表现为32位(单精度)或64位(双精度)的格式。

  • 符号位: 1位,用于表示正负。
  • 指数位: 可变位数,用于表示数值的范围。
  • 小数位: 也是可变位数,用于表示数值的精度。

浮点数精度范围

单精度浮点数(32位)

  • 可表示的最小值: 约$2^{-23}\times1.7549437e^{-38}$
  • 可表示的最大值: 约$2^{23}\times3.402823585e^{38}$
  • 精度: 大约6-7位有效数字。

双精度浮点数(64位)

  • 可表示的最小值: 约$2^{-52}\times1.7549437e^{-38}$
  • 可表示的最大值: 约$2^{52}\times3.402823585e^{38}$
  • 精度: 大约15-16位有效数字。

实属的范围和精度

实属包括有理数和无理数,他们在计算机中的表示通常通过浮点数来实现。然而,由于浮点数的表示方式,某些实属可能无法被精确表示。

  • 非规格化数(subnormal): 如果指数位全为0,而尾数不全为0,而尾数位不全为0,则表示为非规格化数,这是一个非常小的数。
  • 无穷大: 指数位全为1时,表示的是无穷大。
  • NaN(Not a Number): 当指数位不全为0或全为1,且尾数位不全为0时,表示的是不是一个数字

精度和误差

由于浮点数的表示是基于有限的二进制位数,因此存在量化误差。这种误差在计算中是不可避免的,尤其是在进行高精度计算时。例如,两个具有非常接近值的浮点数相加可能会导致结果略有偏差。 总之,浮点数提供了一种在计算机中表示实属的有效方式,但同时也伴随着精度和范围的限制。在处理需要极高精度的科学计算或工程应用时,可能需要采用其他数值计算技术,如复数或高精度。

组合数问题

题目背景

给定正整数 $n,m$,求在 $n$ 个本质不同的物体中选取 $m$ 个时,有多少种本质不同的方案。

题目描述

形式化地讲,给定正整数 $n,m(1\leq n,m\leq 2000)$ ,求

$$ \mathrm{C}_{n}^m $$

也即

$$ \binom{n}{m} $$

需要注意的是,本题所有运算都在模 $998,244,353$ 下进行。

输入格式

第 $1$ 行一个正整数 $T$ ,表示数据组数。

第 $2\sim T+1$ 行,每行有两个整数 $n,m$,含义如题目描述中所示。

输出格式

共 $T$ 行,每行一个整数表示答案。

样例 #1

样例输入 #1

3
5 3
4 2
10 7

样例输出 #1

10
6
120

提示

对于 $100%$ 的数据,满足 $1\leq T\leq 10^5,1\leq n, m\leq 2000$。

需要注意以下两点:

  • 鉴于效率较低,本题不能使用 iostream 里的 cin/cout 输出流。

  • 不保证数据满足 $m\leq n$ 。