首页 > 其他分享 >比赛必背:可重用代码块

比赛必背:可重用代码块

时间:2022-10-28 20:48:44浏览次数:39  
标签:必背 比赛 10 int 代码 重用 len void

我们比赛中经常遇到一些高频次需求:比如判断素数、判断闰年、计算阶乘等,葛老师在这里把经常出现的需求代码写成函数的形式,大家直接背下来,可以在打比赛的时候节省大量时间。:

大整数运算:

 1 struct Bigint {
 2 int len, a[maxn];
 3 Bigint(int x = 0) { // 初始化数值为x
 4 memset(a, 0, sizeof(a));
 5 for (len = 0; x; len++)
 6 a[len] = x % 10, x /= 10;
 7 }
 8 // 重载[],可以直接用x[i]代表x.a[i],编写时更加自然
 9 int &operator[](int i) { return a[i]; }
10 void flatten(int L) { // 处理进位
11 len = L;
12 for (int i = 0; i < len; i++)
13 a[i + 1] += a[i] / 10, a[i] %= 10;
14 for (; !a[len];)
15 len--;
16 }
17 void print() {
18 for (int i = max(len-1, 0); i >= 0; i--)
19 printf("%d", a[i]); // 若数值为0,也需要输出0
20 }
21 };

 

标签:必背,比赛,10,int,代码,重用,len,void
From: https://www.cnblogs.com/geyang/p/16837407.html

相关文章