日期算法类
检测日期是否合法
闰年
- 能被4整除但是不能被100整除,
- 能被400整除
- 闰年有29号
4、6、9、11月是30天,其他月份为31天。
bool isLeap(int y){
return (y%4==0&&y%100!=0)||(y%400==0);//检测是否是闰年
}
bool check(int year,int month,int day){//判断是否为合法日期
if(month>12||month==0) return false;
if(day>31) return false;
if(month==2){
if(isLeap(year)&&day>29)
return false;
if(!isLeap(year)&&day>28)
return false;
}
if(month==4||month==6||month==9||month==11){
if(day>30) return false;
}
return true;
}
数学类
求最大公约数
int y(int a,int b)//求最大公约数
{
if(b==0)return a;
else
return y(b,a%b);
}
求最小公倍数
int y(int a,int b){
int max=max(a,b);
do{
if(max%a==0&&max%b==0){
return max;
}
max++;
}while(max)
}
求开方
#include<math.h>
cout<<sqrt(a)<<endl;/*输出的浮点数数据*/