浏览 1995 次
锁定老帖子 主题:输入一个数n,求出n的3次冥等于n个奇数
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-25
#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; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |