现在的位置: 首页 > 综合 > 正文

C++ 计算系列一

2013年06月30日 ⁄ 综合 ⁄ 共 997字 ⁄ 字号 评论关闭

1.求1000以内所有偶数的和

int getSum(int number)
{
	int sum =0;
	for(int i=0;i<number;i++)
	{
		if(i%2==0)
		{
			sum+=i;
		}
	}
	return sum;
}

2.输出1/3-3/5+5/7-7/9…+19/21的结果

float getSum1(int denominator)
{
	float sum = 0;
	int symbol = -1;
	for(int i=1;i<=denominator;i++)
	{
		if(i%2==0)
		{
			sum +=(2.0*i-1)/(2*i+1)*symbol;
		}
		else
		{
			sum +=(2.0*i-1)/(2*i+1);
		}
	}
	return sum;
}

3.用单重循环完成 

float getSum2(int times)
{
	float sum =1;
	float product =1;
	int symbol = -1;
	for(int i=1;i<times;i++)
	{
		product *= (1.0/2);
		if(i%2==0)
		{
			sum+=product;
		}
		else
		{
			sum+=product*symbol;
		}
	}
	return sum;
}

float getSum3(int times)
{
	float sum = 1;
	float factorial = 1;
	int symbol = -1;
	for(int i=1;i<times;i++)
	{
		factorial *=1.0/(i+1);
		if(i%2==0)
		{
			sum+=factorial;
		}
		else
		{
			sum+=factorial*symbol;
		}
	}
	return sum;
}

4.输出一个乘法口诀表

void multiplicationTable(int line)
{
	for(int i=1;i<=line;i++)
	{
		for(int j=1;j<=i;j++)
		{
			cout<<j<<"*"<<i<<"= "<<i*j<<"  ";
		}
		cout<<endl;
	}
}

5.找出1000以内的所有完数

 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3
 因子就是所有可以整除这个数的数,但是不包括这个数自身

void perfectNumber(int range)
{
	int sum=0;
	for(int i=1;i<=range;i++)
	{
		for(int j=1;j<i;j++)
		{
			if(i%j==0)
			{
				sum+=j;
			}
			
		}

		if(sum == i)
		{
			cout<<i<<endl;
		}
		sum =0;
	}
}

抱歉!评论已关闭.