常用函数集合

来源:互联网 发布:js把逗号替换成换行符 编辑:程序博客网 时间:2024/05/16 09:09
INSERT myth(me,lover) VALUES('I','you'); //把你当作我的爱人写入神话

int reverse(int x) //逆序数  (将一个数逆序){    int n=0,j=0,a=1,b[10];    while(x>0)    {        j++;        b[j]=x%10;        x/=10;        a*=10;    }    for(int i=1;i<=j;i++)    {        a/=10;        n+=b[i]*a;    }    return n;}

bool isPrime (int n)//判断一个数是否为素数 头文件cmath||math.h{    if(n==1||n==2) return 1;    for(int i=2;i<=sqrt(n);i++)    {        if(n%i==0) return false;    }    return 1;}

//greatest common divisor 最大公约数int gcd(int a,int b)//辗转相除法求最大公约数{ int min, max; max=a>b?a:b; min=a<b?a:b; if(max%min==0)  return min; else return gcd(min,max%min);}

int gcd(int a,int b)//递归法求最大公约数{ int min, max; int r; max=a>b?a:b; min=a<b?a:b; if(max%min==0)  return min; while(max%min!=0) {  r=max%min;  max=min;  min=r; } return min;} 

//least common multiple 最小公倍数int lcm(int a,int b)//最小公倍数{ int min, max; int r; max=a>b?a:b; min=a<b?a:b; if(max%min==0)  return max; while(max%min!=0) {  r=max%min;  max=min;  min=r; } return a*b/min;}

bool Leap_Year(int year)        //判断闰年 返回布尔值 若布尔型编译不过可改为整型返回1则是闰年0则不是{    if((year%4==0&&year%100!=0)||year%400==0) return 1;    else return 0;}

int isValid_date(int year,int month,int day)//判断年月日是否合法 需要用到上面的闰年函数{    int n=0;    if((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&(day>=1&&day<=31)) n=1;    else if((month==4||month==6||month==9||month==11)&&(day>=1&&day<=30)) n=1;    else if(Leap_Year(year)&&month==2&&(day>=1&&day<=29)) n=1;    else if(Leap_Year(year)==0&&month==2&&(day>=1&&day<=28)) n=1;    else n=0;    return n;        }

int day_of_year(int y,int m,int d)//判断输入的日期是一年中的第几天 需要用到求闰年函数(Leap_year()){    int s=0;    if(Leap_Year(y)==0&&m>2) s--;    if(m>1) s=s+31;    if(m>2) s=s+29;    if(m>3) s=s+31;    if(m>4) s=s+30;    if(m>5) s=s+31;    if(m>6) s=s+30;    if(m>7) s=s+31;    if(m>8) s=s+31;    if(m>9) s=s+30;    if(m>10) s=s+31;    if(m>11) s=s+30;    s=s+d;    return s;}

void jisuan(int num,int n)//十进制转N进制 并输出{    int i=1,j;    char a[999];    if(num<0 printf="" -="" num="-num;" i="1;" while="" num="">0)        {            a[i]=num%n+'0';            if(a[i]>='0'+10) a[i]='A'+a[i]-'0'-10;            num=num/n;            i++;        }        for(j=i-1;j>=1;j--)            printf("%c",a[j]);        printf("\n");}<!--0-->
1 0