ACM练习笔记

一、求等比数列的和

1、用公式直接输出

2、x^y=pow(x,y)

3、控制输出小数点后的位数

cout.precision(n) :小数点后保留n位

输出时加fixed参数,cout<<fixed<<xxx<<endl;


二、 求最大公约数(欧几里得法)

只要两数不相等,就反复用大数减小数,直到相等为止

int gcd(int x,int y)
{
	while(x!=y)
	{
		if(x>y)x=x-y;
		else y=y-x;
	}
	return x;
}

三、最小公倍数

1、对32位CPU,int 表示范围是-2^31--(2^32-1)

2、最小公倍数=x/gcd(x,y)*y


四、十进制转为二进制

string s;
for(int a=n;a;a=a/2)
{
	s=s+(a%2?'1':'0');
}


你可能感兴趣的:(ACM练习笔记)