计算n!,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
可以通过类每构造一个变量需要调用一次构造函数,析构函数来解决。
建立int型变量N来计数,为了使每个函数可使用N,将N定义为静态变量可以在构造函数中令N++;
建立静态变量Sum,将N加起来就是n!
#include<stdio.h>
#include<iostream>
using namespace std;
class Temp{
public:
static unsigned int N;
static unsigned int Sum;
Temp(){ ++N; Sum += N; }
};
unsigned int Temp::N = 0;
unsigned int Temp::Sum = 0;
class Solution {
public:
int Sum_Solution(int n)
{
//静态变量初始化
Temp::N = 0;
Temp::Sum = 0;
Temp *a = new Temp[n];
delete[] a;
a = NULL;
return Temp::Sum;
}
};
void test()
{
Solution A;
cout<<A.Sum_Solution(5)<<endl;
}