`
_jia_shun
  • 浏览: 27860 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

习题4_35阶乘问题

 
阅读更多
//Jiecheng.h
class Jiecheng
{
public :
	void Jiecheng_();//解决问题1
	void caculateE();//解决问题2
	void caculateEX();//解决问题3
	int test(int);//递归算法求阶乘
	double test_(double);//求阶乘的倒数
private:
	int N ;//计算到阶乘的最大位
	int I  ;//阶乘结果
};

 

//Jiecheng.cpp
#include "Jiecheng.h"
#include<iostream>
using namespace std;

int Jiecheng::test(int number)   //递归算法求阶乘 啊啊啊啊啊啊啊啊啊啊啊 啊啊
{
	if(number == 1) return 1;
	else 
		return number*test(number-1);
}

double Jiecheng::test_(double number)
{
	int final = test(static_cast<int>(number));
	return 1.00/(static_cast<double>(final));

}

void Jiecheng::Jiecheng_()
{
	cout << "问题一、请输入一个非负整数:";
	cin >> N ;
	
	while(N<0)    //至关重要额
	{
		cout << "阶乘中要求为非负数,请重新输入:";
		cin >> N ;
	}
	
	if(N>0)
	{
		cout << N << "! = " << test(N) << endl;
	}//end if
	else
	{
		cout << "0! = 1" << endl;
	}

}

void Jiecheng::caculateE()
{
	cout << "问题二、请输入一个正整数n:" ;
	cin  >> N ;

	while(N<=0)
	{
		cout << "题目要求N大于0,请重新输入N:" ;
		cin >> N;
	}

	double L = 1.00;   //L=e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ······
	for(double i=1.00;i<=static_cast<double>(N);i++)
	{
		L = L + test_(i);
	}
	cout << "e = " << L << endl;
}

void Jiecheng::caculateEX()
{
	int x ;
	cout << "问题三、请输入正整数N,以及e的系数x " ;
	cin >> N >> x ;
	while(N<=0)
	{
		cout << "题目要求N大于0,请重新输入N:" ;
		cin >> N;
	}
	double L = 1.00;//   exp(x)的解
	double y = 1.00;//每个项上的x
	int i=1;
	for(int i=1;i<=N;i++)
	{
		y = y*static_cast<double>(x) ;
		L =L +  y*test_(static_cast<double>(i)); //注意啊,是i循环,不是N不变啊,!!!!
	}
	cout << "e(" << x << ") = " << L << endl;; 
}

 

//caculate.cpp  /main.cpp
#include"Jiecheng.h"
#include<string>

int main()
{
	/*Jiecheng test1;
	test1.Jiecheng_();
	Jiecheng test2;
	test2.caculateE();*/
	Jiecheng test3;
	test3.caculateEX();
	system("pause >> cout ");
	return 0;
}

 

分享到:
评论

相关推荐

    java练习题_循环.pdf

    练习题中包含计算阶乘的代码,如: ```java long c = 0, d = 1; for(long i = 1; i ; i++) { for(long m = i; m &gt; 0; m--) { d = d * m; } c = c + d; d = 1; } ``` 这里通过嵌套的`for`循环来计算每个...

    C语言练习题:求1到10的阶乘之和简单实例

    C语言练习题:求1到10的阶乘之和简单实例 #include int factorial(int n) { if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1); } int main() { int n=10; int sum=0; int i; for(i=1;i&lt;=n...

    朱红C++第三版习题答案朱红C++第三版习题答案_.doc

    根据提供的文档内容,我们可以归纳和总结出一系列与C++编程相关的知识点。这些知识点不仅涵盖了基本的数据类型、控制...通过这些练习题的学习,可以帮助学生更好地掌握C++编程的基础知识,并培养解决实际问题的能力。

    Java中for循环练习题

    这个练习题旨在熟悉 for 循环在数值计算中的应用,并了解如何使用 for 循环计算阶乘和。 7. 求 100 以内的素数。 这个练习题旨在熟悉 for 循环在数值计算中的应用,并了解如何使用 for 循环计算素数。 8. 求菲薄...

    经典java编程练习题

    Java编程练习题21、22、23涉及到数学运算,如素数、平方和、阶乘等。这些题目考核了程序员对数学运算的掌握程度。 知识点8: 递归和算法 Java编程练习题24、25、26涉及到递归和算法,如递归函数、排序算法等。这些...

    JAVA练习题(for循环练习题等)

    ### JAVA练习题知识点详解 #### 1. 斐波那契数列 通过`for`循环打印斐波那契数列的前100项。斐波那契数列定义为:第一项与第二项均为1,后续每一项都是前两项之和(如1, 1, 2, 3, 5, 8, 13, 21...)。 ```java int...

    C++编程练习题大全(带答案).pdf

    根据提供的文件内容,我们可以提取出以下知识点: 1. C++编程基础: ...以上知识点涵盖了C++编程中的基础概念、编程技巧、面向对象编程、算法实现等多个方面,旨在通过练习题加深对C++编程的理解和掌握。

    JAVA练习题(50题)

    #### 练习题4:质因数分解 - **知识点**: - 质因数的概念及其在数学中的应用。 - 循环与条件判断。 - 除法与取模运算。 - **实现思路**:通过循环找到最小的质因数并将其打印出来,然后继续分解剩余的部分,直到...

    c程序设计期末的练习题

    练习题可能包含使用递归实现特定算法,如计算阶乘、查找和排序等。 每个文件名(1、4、9)可能代表不同的练习题编号,具体题目内容需查看文件内容才能详细讨论。通过解决这些练习题,学生可以深入理解和熟练掌握...

    汇编语言程序设计练习题

    #### 练习题4:将一个字变量中2进制形式的无符号整数以10进制形式输出。 - **知识点**: - 二进制到十进制转换:通过位操作和累加实现转换。 - 输出处理:如何将得到的十进制数字转换为ASCII码进行显示。 #### ...

    一到十的阶乘和.PHP

    初学者可以多找一点类似于这种练习题做做,本题是我们老师发的标准答案,计算一到十的阶乘和

    C语言函数练习题, 很实用

    ### C语言函数练习题知识点详解 ...通过这些练习题的学习与实践,不仅能够帮助初学者巩固函数的基础知识,还能提升解决实际问题的能力。希望学习者能够通过不断练习,熟练掌握C语言中的函数技巧。

    C语言函数练习题2.doc

    本文档提供了四个C语言函数练习题,分别是英尺、英寸、米、厘米之间的转换、三角形面积的计算、函数递归求阶乘和画出一个正方形。 一、英尺、英寸、米、厘米之间的转换 在这个练习题中,我们使用三个函数GetInch、...

    非常好的Java练习题

    这些Java练习题覆盖了基础到进阶的多个知识点,包括条件运算符的使用、循环与逻辑控制、字符串处理、数学计算、递归、数组操作、数据结构、算法等。以下是这些题目涉及的具体知识点详解: 1. **条件运算符**:`条件...

    JAVA基础编程练习题50题及经典算法90题【含源码及答案】-史上最全

    Java基础编程练习题和经典算法是提升编程技能和准备面试的关键环节。这50题的基础编程练习涵盖了Java语言的核心概念,如数据类型、控制结构、类与对象、异常处理、集合框架等,旨在帮助学习者巩固基础知识并提高编程...

    第4.2讲-递归练习题1

    在本节中,我们将探讨与递归相关的编程概念,通过几个具体的练习题来理解递归函数的工作原理及其应用。递归是一种在函数内部调用自身的技术,通常用于解决需要重复执行相同操作的问题,如计算阶乘或遍历树形结构。 ...

    TCL(Tool Command Language)练习题及答案

    TCL(Tool Command Language)练习题及答案; 1、编写一个TCL脚本,输出从1到10的所有偶数。 2、编写一个TCL脚本,求一个整数列表的平均值。 3、编写一个TCL脚本,计算一个整数列表的最大值和最小值。 4、...

    作业练习题.rar

    3. **算法**:算法是解决问题的步骤,练习题可能涵盖排序(冒泡排序、快速排序、归并排序等)、搜索(线性搜索、二分搜索等)、图算法(Dijkstra算法、Floyd算法等)和动态规划问题。这些题目可能要求分析算法的时间...

Global site tag (gtag.js) - Google Analytics