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

    xiaoxiao2021-03-25  99

    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++; }

    转载请注明原文地址: https://ju.6miu.com/read-23604.html

    最新回复(0)