c语言题目计算圆周率天书,计算机编程能力培养课程设计题目_2014

计算机编程能力培养课程设计题目

2014年通信工程学院计算机能力培养课程设计题目 题目一:计算圆周率

读懂下面著名的C语言“天书”,这段代码只用了四行代码(include 预编译命令不算)就计算了800位圆周率,其算法自有其高明这处,所以本题更重要的是要论述清楚背后的数学原理。

#include

long a = 10000,b,c=2800,d,e,f[2801],g; void main(){for(;b-c;)f[b++]=a/5;

for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)

for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);scanf("%s");return;}

题目二:稳定伴侣问题

有n个男孩m1,m2,…,mn与n个女孩w1,w2,wn。每一个男孩mi都依照喜爱这n个女孩的程度列成一张表,最喜欢的女孩排在第1位,最不喜爱的女孩排在第n位;同样地,每一个女孩wi也依照她喜爱n个男孩的程度列成一张表。请写一个程序,把每一个男孩与女孩的喜爱表格读入,并且把男孩与女孩一一配对,使得:如果mp与wq是一对的话,那么第一:对mp的喜爱表格中排在wq之前的女孩而言,她的伴侣在她的表格中一定排在mp之前;第二:对wq的喜爱表格中排在mp之前的男孩而言,他的伴侣在他的表格中一定排在wq之前。这就是稳定伴侣(Stable Marriage)问题。

【说明】

这个问题恐怕要多说一些才能讲得明白。先讲不稳定(Unstable)的情况;如果m的女伴记成PM(m),而w的男伴记成PW(w)。如果有一对男孩与女孩m与w,他们不是伴侣(用上面的记号,m的伴侣是PM(m),w的伴侣是PW(w)),但m比较中意w而不是PM(m),则同时w比较中意m而不是PW(w)的时候,m与w就一定心不甘情不愿了。例如,如果A与B是男孩,X与Y是女孩,A比较中意X,B比较中意Y,A与Y、B与X结伴,那么A与Y心目中的情人都不是对方,B与X亦然,这就是不稳定的状况。稳定伴侣的问题,就是要在喜爱的表格中配出最合适、稳定的伴侣,而不是“乔太守乱点鸳鸯谱”制造对对怨偶。

看一个完整的例子。假设男孩与女孩都用编号1,2,3,4,其喜爱表格如表1所示。

表1

1: 2: 3: 4:

2 3 2 4

男 孩

4 1 3 1

1 4 1 3 3 2 4 2 1: 2: 3: 4: 2 4 1 2

女 孩

1 3 4 1

4 1 3 4 3 2 2 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值