SJTU ACM班 2021级 程序设计 中作业 1 文档
要求实现一个 C++ 的大整数类,命名为 int2048
。
接口已在 int2048.hpp
中给出,只需要实现文件内所要求的内容即可。
总分共占比 4% 其中
- Integer 占比 100%
- code review 若码风较差将酌情扣分
- 构造函数以及关系运算符 10%
- 无符号高精度加减法 20%
- 有符号高精度加减法 20%
- 高精度乘法 20%
- 高精度除法 20%
- Bonus:压位高精度加、减、乘法 5%
- Bonus:压位高精度除法(在竖式运算过程中使用二分加速) 5%
- 构造函数以及关系运算符 10%
- 无符号高精度加减法 10%
- 有符号高精度加减法 10%
- 高精度乘法 20%
- 高精度除法 20%
- 压位高精度加、减、乘法 10%
- 压位高精度除法(在竖式运算过程中使用二分加速) 10%
- Bonus:压位快速高精度乘法(快速傅立叶变换) 5%
- Bonus:压位快速高精度除法(快速傅立叶变换 + 牛顿迭代) 5%
PS:Bonus 部分对代码性能也有要求,需要通过对应的测试数据点才能得到分数。
对于基础测试点,保证运算过程中数字绝对值
对于需要压位的测试点,保证运算过程中数字绝对值
对于快速高精度乘法测试点,保证两个乘数
对于快速高精度除法测试点,保证被除数与除数均
PS:所有测试点保证被除数与除数均为正数(避免向零取整或向下取整问题)。
所有测试点时限均设置为 std 耗时的 2.5 倍以上。