浮点数的表示格式

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

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

浮点数精度范围

单精度浮点数(32位)

  • 可表示的最小值:223×1.7549437e38
  • 可表示的最大值:223×3.402823585e38
  • 精度: 大约6-7位有效数字。

双精度浮点数(64位)

  • 可表示的最小值:252×1.7549437e38
  • 可表示的最大值:252×3.402823585e38
  • 精度: 大约15-16位有效数字。

实属的范围和精度

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

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

精度和误差

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

组合数问题

题目背景

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

题目描述

形式化地讲,给定正整数 n,m(1n,m2000) ,求

Cnm

也即

(nm)

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

输入格式

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

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

输出格式

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

样例 #1

样例输入 #1

3
5 3
4 2
10 7

样例输出 #1

10
6
120

提示

对于 100 的数据,满足 1T105,1n,m2000

需要注意以下两点:

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

  • 不保证数据满足 mn