`
ccjsjymg
  • 浏览: 62094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

输入一个数n,求出n的3次冥等于n个奇数

阅读更多
#include <stdio.h>
#include <math.h>
#include <string.h>

void Display(int n);
int* GetCount(int nCount);
bool IsOddNumber(int num);
void GetOod(int* num, int n);
int main(void)
{
	Display(4); 

	return 0;	
}

//输入一个数n,求出n的3次冥等于n个奇数
void Display(int n)
{
	//例如:n的3次冥 = n个奇数相加
	
	int nCount = (int)pow(n, 3);
	int nLength = 0;
	int* num = GetCount(nCount);
	
	GetOod(num, n);

	delete[] num;
	
}

//获取n个奇数
void GetOod(int* num, int n)
{
	if ( num == NULL ) return;
	int n1 = 0;
	int i = 0;
	for ( i = 0;i < n;++i )
	{
		n1 = 2*(i-1);
	}

	for( i = 0; i< n;++i )
	{
		printf("%d\n", num[++n1]);
	}
	
}

//获取在一个数范围内的奇数
int* GetCount(int nCount)
{
	int nCoun = 0;
	int i = 0;
	for( i = 1;i <= nCount;++i )
	{
		if ( IsOddNumber(i) )
			++nCoun;
	}

	int* num = new int[nCoun];
	memset(num, 0, sizeof(int)*nCoun);
	int j = 0;

	for( i = 1;i <= nCount;++i )
	{
		if ( IsOddNumber(i) )
		{
			num[j] = i;
			++j;
		}
	}
	
	return num;

}

//判断是否为奇数
bool IsOddNumber(int num)
{
	if ( num % 2  )
		return true;

	return false;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics