7 行代码C++算法模板
质数判定
简单的质数判定代码,时间复杂度 O(sqrt(x))
bool is_prime(int x) {
if (x < 2) return false;
for (int i = 2; i*i <= x; i++)
if (x % i == 0)
return false;
return true;#质数
简单的质数判定代码,时间复杂度 O(sqrt(x))
bool is_prime(int x) {
if (x < 2) return false;
for (int i = 2; i*i <= x; i++)
if (x % i == 0)
return false;
return true;随机生成 1~100 之间的整数,通过输入来猜数字大小
#include <bits/stdc++.h>
using namespace std;
int main() {
srand(time(0));使用递归实现欧几里得/辗转相除法求最大公约数
int gcd(int a, int b) {
if (a % b == 0) return b;
return gcd(b, a % b);
}使用循环实现欧几里得/辗转相除法求最大公约数
int gcd(int a, int b) {
while (a % b) {
int t = a % b;
a = b;
b = t;
}bigInt 大整数的结构体封装以及构造函数
struct bigInt {
int digit[1000] = {0}, len = 0;
// s 的默认值为 “0”,可以不用传参
bigInt (string s = "0") {
len = s.size();
for (int i = 0, j = len-1; i < len; i++, j--)包含了 bigInt 大整数的结构体封装,加法、高精度*单精度乘法、高精度*高精度乘法重载(不考虑负数)
#include <bits/stdc++.h>
using namespace std;
struct bigInt {
int digit[1000] = {0}, len = 0;
// s 的默认值为 “0”,可以不用传参