c++解决:不使用特点符号计算n!

计算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;
}
发布了39 篇原创文章 · 获赞 4 · 访问量 1152

猜你喜欢

转载自blog.csdn.net/qq_41403559/article/details/97797397