您的位置:首页 > 其它

计算2!* 2^i,并判断是否达到MAXINT

2016-01-07 11:40 357 查看
计算2!* 2^i,并判断是否达到MAXINT

a[0] = 1

a[1] = 2 * 1 * a[0]

a[3] = 2 * 3 * a[2]

在前一项的基础上乘上2和计数的i,i相当于阶乘的项

#include<iostream>
#include<stdlib.h>
#define MAXINT 65535
#define ArrSize 100
int fun(int i);

int main()
{
int i, k;
int a[ArrSize];
std::cout << "Enter k:";
std::cin >> k;
if (k > ArrSize - 1)
exit(0);

for (i = 0; i <= k; i++){
if (i == 0) a[i]  = 1;
else{
if (2 * i * a[i - 1] > MAXINT) exit(0);
else a[i] = 2 * i * a[i - 1];
//a[0] = 1   a[1] = 2 * 1 * a[0]   a[2] = 2 * 2 * a[1] a[3] = 2 * 3 * a[2]
//在前一项的基础上乘上2和计数的i,i相当于阶乘的项
}
}
for (i = 0; i <= k; i++){
if (a[i] > MAXINT) exit(0);
else std::cout << a[i] << " ";
}

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: