欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些常用的功能代码

程序员文章站 2022-07-12 11:58:33
...

(1)判断素数

#include<cmath> 

bool is_prime(unsigned a) 
{
	if(a==0||a==1)
		return false;
	for(int i=2;i<=sqrt(a);++i)
		if(a%i==0)
			return false;
	return true;
}

 

(2)求最大公约数/最小公倍数

//最大公约数 greatest common divisor 
unsigned gcd(unsigned a,unsigned b)
{
	unsigned c=a%b;
	while(c){
		a=b;
		b=c;
		c=a%b;
	}
	return b;
}

//最小公倍数 lowest common multiple 
unsigned lcm(unsigned a,unsigned b)
{
	return a*b/gcd(a,b);	//a与b的乘积除以最大公约数 
}

(3)判断闰年平年

bool IsLeap(unsigned a){
	return a%4==0&&a%100!=0||a%400==0? true:false;
        //普通闰年:能被4整除但不能被100整除
        //世纪闰年:能被400整除
}

(4)取正整数各个位上的数字

/*
*给定一个正整数,如1234
*取个位上的“4”:(1234/1)%10
*取十位上的“3”:(1234/10)%10
*取百位上的“2”:(1234/100)%10
*取千位上的“1”:(1234/1000)%10
*/