#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;
}
输入一个数n,求出n的3次冥等于n个奇数
最新推荐文章于 2022-02-25 18:19:43 发布