论坛首页 编程语言技术论坛

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

浏览 1991 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-02-25  
C
#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