欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

Episode3---【C语言]第二月度总结-创新互联

为龙里等地区用户提供了全套网页设计制作服务,及龙里网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、龙里网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!一、课程进度

     \;\; 这一个月,我们学习了函数与预处理、数组的定义及常用字符串处理函数、指针及指针变量的特性及优点…老师说C++课程到了第一个重要的难点,希望同学们努力理解,多动手。

二、部分习题 1.用递归方法求n阶勒让德多项式的值。

递归公式为 p n ( x ) = {      1 ,                                                                                                                                    ( n = 0 )      x ,                                                                                                                                    ( n = 1 ) ( ( 2 n − 1 ) x − p n − 1 ( x ) − ( n − 1 ) p n − 2 ( x ) ) / n ,          ( n > 1 ) p_{n}\left ( x \right )=\left\{\begin{matrix}\;\;1, \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; (n=0)\\ \;\;x,\; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; \; (n=1)\\ ((2n-1)x-p_{n-1}\left ( x \right )-(n-1)p_{n-2}(x))/n,\; \; \; \; (n>1) \end{matrix}\right. pn​(x)=⎩⎨⎧​1,(n=0)x,(n=1)((2n−1)x−pn−1​(x)−(n−1)pn−2​(x))/n,(n>1)​

#includeusing namespace std;
float p(int n, int x)
{int t = 0;
	if (n == 0)
		return 1;
	else if (n == 1)
		return x;
	else if (n >1)
		return ((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n;
}
int main()
{int n, x;
	float result;
	cout<< "请输入勒让德多项式的结束与未知量:";
	cin >>n >>x;
	result = p(n, x);
	cout<< "值为:"<< result;
	return 0;
}
2.写一个函数验证哥德巴赫猜想。

一个不小于6的偶数可以表示为两个素数之和,如6=3+3,8=3+5,10=3+7,···,在主函数中输入一个不小于6的偶数n,然后调用函数gotbaha,在gotbaha函数中再次调用prime函数,prime函数的作用是判别一个数是否为素数。在gotbaha函数中输出以下形式的结果:
34=3+31。

#include#includeusing namespace std;
bool prime(int n)
{int i;
	for (i = 2; i< sqrt(n); i++)
	{if (n % i == 0)
			break;
	}
	if (i >sqrt(n))
		return true;
	else
		return false;
}
void gotbaha(int x)
{int j;
	for (j = 2; j<= x / 2; j++)
	{if(prime(j)==true&&prime(x-j)==true)
		{	cout<< x<< "="<< j<< "+"<< x - j;
			break;
		}
	}
}
void main()
{int n;
	cout<< "请输入一个不小与6的偶数:";
	cin >>n;
	gotbaha(n);
}
3.Hanoi(汉诺)塔问题是一个经典的数学问题。

有三个塔座A、B、C,开始时A座上有64个盘子,盘子大小互不相等,大的在下,小的在上。现每次移动一个盘子,在移动过程中小盘不能在大盘下方,要利用B塔座,将这64个盘子全部按“金字塔”形式移到C塔座。编程序打印出移动步骤。

     \;\; 首先分析一下,汉诺塔问题的重点在于如何利用B塔座将A塔座上的盘子全部放至C塔座。容易知道,n个盘子的移动需要 ( 2 n − 1 ) (2^n-1) (2n−1)步,但本题需要打印出每一步。
     \;\; 分析解题思路:将64个盘子按照从大到小顺序,由大到小依次排序123…不妨从最后一步反向分析,要将64个盘子移到C盘,则需要让64从A盘移到C盘,也就意味着1263需要全部位于B盘,且从小到大依次排序。于此,我们便将这64个盘子转化为了如何将63个盘子移到B盘,也就是将63个盘子借助C盘移到B盘再将64移到C盘,最后借助A盘将B盘的63个盘子全部移到C盘。

在这里插入图片描述
在这里插入图片描述
     \;\; 其实,汉诺塔的难点已经解释清楚了,但如何清晰简洁地写出一个程序还是不容易思考的⊙﹏⊙∥(即如何将每一个看似不同的步骤以其类似的特点进行整合,通过改变某一个或两个实参,来实现同一函数不同结果的过程)

可写程序如下:

void move(char a, char b)
{cout<< a<< "→"<< b<<" ";
}
void Hanoi(int n, char x, char y, char z)
{if (n == 1)
		move(x, z);
	else
	{Hanoi(n - 1, x, z, y);
		move(x, z);
		Hanoi(n - 1, y, x, z);
	}
}
int main()
{int n;
	cout<< "请输入盘数:";
	cin >>n;
	cout<< "步骤如下:\n";
	Hanoi(n, 'A', 'B', 'C');
	return 0;
}

为方便观察结果,我们输入6来尝试一下,则结果如下:

在这里插入图片描述
     \;\; 综上,函数巧妙地利用参数的改变,来实现将n个盘子 A → B C A\overset{B}{\rightarrow}C A→BC, A → C B A\overset{C}{\rightarrow}B A→CB,···      \;\; 这样,我们就通过短短24行代码写出了n个盘子所需的全部步骤。

三、总结

     \;\; 最后,希望我讲的足够清楚,帮到大家就好了( •̀ ω •́ )y,我会继续努力的。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108