常用的函数汇总(自定义函数)

来源:互联网 发布:深泉学院知乎 编辑:程序博客网 时间:2024/05/09 12:18

1.判断素数

int isss(int n){     if(n<2) return 0;     for(int i=2;i<=sqrt(n);i++)        if(n%i==0) return 0;    return 1;}



2.求最大公约数和最小公倍数


//最大公约数LL gcd(int a, int b){if(a<b){int t=a;a=b;b=t;} return b == 0 ? a : gcd( b , a % b );}//最小公倍数LL minab(int a,int b){if(a<b){int t=a;a=b;b=t;} return b == 0 ? a : a*b/(gcd(a,b)); }


/*使用辗转相除法*/m=a;   n=b;     while(b!=0)  /* 余数不为0,继续相除,直到余数为0 */      { c=a%b; a=b;  b=c;}  /*采用Euclid(欧几里得)辗转相除法*/      int gcd(int a,int b)      {          if(b==9) return a;          else return gcd(b,a%b);      }/***/int gcd(int a, int b)    {        if (0 == a)        {            return b;        }        if (0 == b)        {            return a;        }        if (a > b)        {            swap(a, b);        }                int c;        for (c = a % b; c > 0; c = a % b)        {            a = b;            b = c;        }        return b;    }        void swap(int a, int b)    {        int c = a;        a = b;        b = c;    }



3.十进制位数分解


            int cnt=0,a=i;            while(a){a/=10;cnt++;}            for(int ii=cnt-1,nn=i;ii>=0;ii--)            {                int a1=nn/pow(10,ii);                nn=nn%(int)pow(10,ii);                //printf("%d===",a1);                if(a1==1) count++;            }


0 0
原创粉丝点击