1.
gcd lcm 素数打表 快速幂
gcd
int gcd(int x,int y){
if(y==0){
return x;
}
x=x%y;
gcd(y,x);
}
lcm
int lcm(int x,int y){
return x*y/gcd(x,y);
}
素数打表
#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int a[10010];
int pnt(){
memset(a,0,sizeof(a));
for(int i=2;i<=10000;i++){
if(a[i]==0){
for(int j=i*i;j<=10000;j=j*i){
a[j]=1;
}
}
}
//printf("%d\n",a[18]);
}
int main()
{
pnt();
return 0;
}
快速幂
private static int cifang3(int a, int b) {
int s = 1;
while (b > 0) {
if (b % 2 == 1) {
s = s % 1000;
a = a % 1000;
s = s * a;
}
a = a % 1000;
a = a * a;
b = b >> 1;
}
return s% 1000;
}
2.结构体 sort
struct qaq{
int x;
int y;
char s;
}s[100010];
sort:
sort(a,a+n)即为对数组a的a[ 0 ] 到 a [ n ] 从小到大排序,sort(a,a+n,cmp)是按照(自己写的)cmp函数定义的去排序
复杂度为nlogn
STL在以前的博客中有。。。