1.最大公约数
__gcd(x,y);int、long long类型都可以,需要注意的是两个类型必须要相同,还有不能用浮点型,当然手写gcd函数也是可以的,它头文件是algorithm。
2.润年的判断
平年2月 28; 润年2月 29
if(y%400==0||(y%4==0 && y%100)) cout<<”Yes”<<endl;
3.对于编译器自动转化及强制类型转换,将会把小数的小数位去除,那么当我们需要四舍五入时,我们可以这样做
实例:a = 3.73;
y = (int)(a+0.5); // y == 4
4.C的四舍五入函数比较:
对含有小数点的数进行四舍五入是比较普遍的一种需求。在C中也有类似的取整函数。在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:
从函数说明中可以看出,
(1) Floor()会取不大于自变量的最大整数,这样自变量是3.1或3.9是没有区别的,返回都是3;自变量是-2.1或-2.9也是没有区别的,返回都是-3;
(2) Ceil()会取不小于自变量的最大整数,这样自变量是3.1或3.9,返回都是4;自变量是-2.1或-2.9,返回的都是-2;
(3) Round()函数,才是我们需要的四舍五入的函数,因为它会返回离自变量最近的整数,这个返回的整数可能大于也可能小于原来的数,但是一定是离它最近的那个整数。
注:floor(), ceil()函数都包含在头文件“Math.h”中,但是round()函数未包含在该头文件中。因此可以通过以上的原理,来自己实现round()函数,实现含有小数的数字的四舍五入。
lcd(x,y)__gcd(x,y)等于ab
催更