c++常见函数封装库
RDCPP.h
#ifndef RDCPP_H
#define RDCPP_H
#include<bits/stdc++.h>//依赖c++11标准头文件库
bool pri(int n) {//素数
if(n<2) return false;
for(int i=2; i*i<=n; i++) {
if(n%i==0) return false;
}
return true;
}
int sum(int n) {//阶乘
return n==1?1:sum(n-1)*n;
}
int rev(int a,int od) {//颠倒数
int n=a,m=0;
while(n!=0) {
m=m*10+n%10+od;
n/=10;
}
return m;
}
int addb(int a,int k,int p) {//进制转换
int n=a,m=0,t=1,bt=0;
if(k!=10) {
while(n!=0) {
m+=n%10*t;
n/=10;
t*=k;
}
n=m;
m=0;
}
t=0;
if(p!=10) {
while(n!=0) {
m=m*10+n%p;
n/=p;
t++;
}
m=rev(m,0);
t--;
bt=m;
while(t>0){
if(bt<10) m*=10;
else bt=bt/10;
t--;
}
} else {
m=n;
}
return m;
}
int gys(int a, int b) {//最大公因数
int t;
if(a<b) swap(a,b);
while (b!=0) {
t=a%b;
a=b;
b=t;
}
return a;
}
int gbs (int a, int b) {//最小公倍数
return a*b/gys(a,b);
}
#endif