#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
方向迭代器应用于STL
c.begin() 返回一个迭代器,它指向容器c的第一个元素
c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置
c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素
c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置
关于cout<<’\n’的使用
不要使用cout<<endl操作,因为每执行一次cout<<endl,缓冲区会被刷新一次,效率很低,改为cout<<’\n’;就好了
判断素数
int check(int a)
{
for(int i = 2; i * i <= a ; i ++)
if(a % i == 0) return 0;
return 1;
}
判断回文数
bool check(int x)
{
int y=x,num=0;//int y=x,防止x被改变
while (y!=0)
{
num=num*10+y%10;//上一次数字的记录进位再加上下一位数
y/=10;
}
if (num==x) return 1;
else return 0;
}
求最小公倍数、最大公倍数
求两个数字之间
1.枚举法
#include<iostream>
using namespace std;
int a,b,c,i;
int main()
{
cin>>a>>b;
c = min(a,b) ; //c存最小的数
for(i=c;i>0;i--) //从c到0枚举找最大公约数
{
if(a%i==0 && b%i==0)
break;
}
cout<<"最大公约数:"<<i<<endl;
cout<<"最小公倍数:"<<a