常用內建函數
sort
排序
sort(v,v+n);
sort(v.begin(),v.end());
reverse
反轉
reverse(v,v+n);
reverse(v.begin(),v.end());
find
尋找
#include <bits/stdc++.h>
using namespace std;
int main(){
int v[10]={3,8,1,10,5,6,9,2,7,4};
cout<<distance(v,find(v,v+10,5)); //4
}
min_element/max_element
取極值
#include <bits/stdc++.h>
using namespace std;
int main(){
int v[10]={3,8,1,10,5,6,9,2,7,4};
cout<<distance(v,max_element(v,v+10)); //3
}
pow
次方
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<pow(2,3);//8
}
round
四捨五入
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<round(10.4)<<"\n";//10
cout<<round(10.5);//11
}
abs
絕對值
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<abs(10)<<"\n";//10
cout<<abs(-20);//20
}
swap
交換
#include <bits/stdc++.h>
using namespace std;
int main(){
int a=10,b=20;
swap(a,b);
cout<<a<<" "<<b;//20 10
}
sqrt
平方根
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<sqrt(16);//4
}
max/min
取極值,形態要完全相同
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<< max(1,2) <<"\n";//2
cout<< max({1,5,3,2,4}) ;//5
}
__gcd
最大公因數
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<__gcd(12,14);//2
}
lcm
根據因數倍數定理
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<12*14/__gcd(12,14);//84
}
__lg
以2為底
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<__lg(16);//4
}
log
自然對數
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<log(10);//2.30259
}
log10
以10為底
#include <bits/stdc++.h>
using namespace std;
int main(){
cout<<log10(1000);//3
}