C++的一些快捷函数1

1、将一位数转为2进制

#include<bitset>
bitset的作用是把一个数转换成二进制

如 bitset<8>是把一个数转换成一个8位的二进制

输出的时候可以转为string输出,t.to_string()。

 2、结构体数组排序

bool cmp(const node& x, const node& y) {
       return x.s > y.s; //降序
}

sort(word, word + n, cmp);

3、整除分块
r = n/ (n/i) 代表最后一个与当前的n/i相等的i的边界值(因为对某些连续的i值来说,他们的n/i都相等),可以跳过这部分值,然后可以通过乘积来实现跳过一部分循环

4、快速幂函数:

ll quickpow(ll a,ll b,ll c) { ll res = 1; a %= c; while (b){ if (b & 1){ res = (res * a) % c; } a = (a * a) % c; b >>= 1; } return res; }

 5、质数判断:

 1 int isprime(int n){
 2     for (int i = 3; i <= n; i += 2) { //偶数不是质数,步长可以加大
 3         float temp = static_cast<float>(i);
 4         int mid = static_cast<int>(sqrt(temp));
 5         int j;
 6         for (j = 3; j <= mid; j += 2)
 7             if (i % j == 0)
 8                 break;
 9  
10         if (j > mid){
11             if(n==i){
12                 return 1;
13             }
14         }
15     }
16     return 0;
17 }
原文地址:https://www.cnblogs.com/0211ji/p/13309314.html