这也就一个库,自开发库,也没什么目录好写的
老样子,我就一句话:
一定要看完!!!!!!!!!!!!!!
#include<bits/stdc++.h>
using namespace std;
int prime[5000050]; //为iper服务
int gcd(int a,int b) //greatest common divisor 最大公约数
{
int t;
while(a%b != 0){
t = a%b;
a=b;
b=t;
}
return b;
}
bool ipsr(int n)//is_prime Square root Exhaustive method 开方列举法判素数
{
if(n == 1) return 0;
for(int i=2;i*i<=n;i++){
if(n % i == 0) return 0;
}
return 1;
}
void iper(int n)//is_prime sieve of Eratosthenes 埃氏筛判素数法
{
for(int i=1;i<=n;i++){
prime[i] = 1;
}
prime[0] = prime[1] = 0;
for(int i =2;i*i<n;i++){
if(prime[i]){
for(int j=i*i;j<=n;j+=i){
prime[j]=0;
}
}
}
}
void prfac1(int n){//Prime factorization 质因数分解
int sum=n;
int f=0;
for(int i=2;i<=n;i++){
while(n%i==0&&n!=1){
if(f==0){
cout<<i;
f=1;
}
else{
cout<<'*'<<i;
}
n/=i;
}
}
cout<<'='<<sum<<endl;
}
void prfac2(int n){//Prime factorization 质因数分解
int sum=n;
int f=0;
cout<<sum<<'=';
for(int i=2;i<=n;i++){
while(n%i==0&&n!=1){
if(f==0){
cout<<i;
f=1;
}
else{
cout<<'*'<<i;
}
n/=i;
}
}
}
string abs(string n){//absolute value 数的绝对值
if(n[0] == '-'){
n.erase(0,1);
}
return n;
}
int ioc(char c){//int of char char的整形
return c-'0';
}
int tnd(string n,int o){//The no.n digit of a number n的第o位
return n[n.length()-o];
}
string plusf(string a1,string b1){ //高精加法
int a[1005]={},b[1005]={},c[1005]={};
int alen = a1.size(),blen=b1.size();
for(int i=0;i<=al