标签归档:编程

【数学】趣味扑克牌魔术游戏

从 N 张互异的牌中随机选出 M 张,要求藏其中一张然后将剩下的(M-1)张按一定次序排列出来放在桌面上使得你的同伴能仅根据桌面上这(M-1)张牌的大小和排列次序推断出你所藏的牌。

比如一幅牌52张,或者加上王共54张,每次从中随机抽出5张...

阅读全文
发表在 数学 | 标签为 , , , | 留下评论

【文摘】数学难题汇编(3)

1.Suppose H is a set of real numbers such thai) 0 and 1 are in H.ii) For any element a of H other t...

阅读全文
发表在 数学, 游戏 | 标签为 , , , , , | 留下评论

【软件】超级圆周率π运算器

国际象棋中的趣题妙解数学家俱乐部数学趣题汇编牛顿:在海边寻找贝壳的人凯尔文:是上帝创造了生命,并且掌管一切陆地动物能变成鲸吗数学界的奇人妙事

Conway: 游戏人生有关孪生素数的一个有趣猜想素数之恋-伯恩哈德·黎曼等分布理论简介数学家波利亚物理学之神奇的数鸟和青蛙

阅读全文
发表在 数学, 游戏, 程序开发 | 标签为 , , | 留下评论

【文摘】数学家俱乐部

一个数学家俱乐部中有有限位数学家,他们中有些人相互是朋友。他们每周聚会一次,每人会喝一杯茶或一杯咖啡。第一次聚会时,他们都会选择自己喜欢的那一种,从第二个星期开始,他们会按照以下的规则选择自己的饮料

阅读全文
发表在 数学, 游戏, 程序开发 | 标签为 , , , , , | 留下评论

【文摘】数学趣题汇编(4)

  1. 13个球中有1个坏球,只知坏球和好球的重量不同,现只有一个没有砝码的天平,问题:至少需要称多少次,就能够挑出坏球,并可以知道坏球比好球重还是轻!参考答案
  2. 100个自然数的和等于200,其中任何一个都不大于10...
阅读全文
发表在 人工智能, 数学, 游戏, 程序开发 | 标签为 , , , | 留下评论

【算法】求两个凸多边形的交集的面积

问题编程计算两个凸多边形的交集多边形的面积

解法分析:显然凸多边形的交集仍然是凸多边形,本解法的关键是首先求出交集凸多边的全部顶点,然后利用凸多边的面积算法求解。首先明确交集多边形的顶点组成。在本问题中,容易证明交集的顶点应该出自下面的两类点 :〔一〕已知的两个多边形 的顶点〔二〕两个多边形的边的交点第一类点的求法:显然如果一个多边形的某个顶点在另一个多边形内〔包括在边上〕则该顶点是交集的一个顶点,因此我们只需依次对两个多边形的顶点进行判断,检验其是否包含在另一个多边形中,即可求出第一类点。本程序中的子函数 inarea( )利用待判断点与另一个多边形的全部边按顺序组成的三角形的面积总和与此多边形的面积进行大小比较,来判断该点的归属,若大则在凸多边形的外部,不属于第一类点;否则,是交集的顶点。第二类点的求法:两个多边形相交可能有两条边重合〔包括部分重合〕的情况,显然重合的部分必是交集的一条边,这条边的顶点是已知两个多边形的顶点,即应属于第一类点,在第一类点的求法中显然已包括了这种顶点,因此我们在求两个多边形的边的交点时,可以不计算两条边重合时的交点,而只计算两条边相交〔不平行〕时的交点。在本程序的算法中为了求两条边的交点,我们采用线段的参数方程表示法,即x=a*t+by=c*t+d        其中0<=t<=1 ;设线段的两个端点坐标分别是〔x0,y0〕和〔x1,y1〕,则线段的参数方程可写成:x=〔x1–x0〕*t+x0y=〔y1–y0〕*t+y0   其中 0<=t<=1;据此可以求两条边的交点,详细的计算公式请见后面的源程序。如果某个多边形的顶点在另一个多边形的边上,由上面的算法可知它将被分别计入两类点当中,因此我们最后求得的交集多边形的顶点可能有部分是重复的,但由多边形的面积算法可知这不会影响面积的大小,因此在确定两类点时,不需要做精细的划分。在求三角形的面积时,用到了下面的公式:┃ 1  x0  y0  ┃S3 = (1/2)* ┃ 1  x1  y1  ┃┃ 1  x2  y2  ┃其中〔x0,y0〕〔x1,y1〕〔x2,y2〕为三角形的三个顶点坐标;并且 S3为三角形的有向面积,之所以用有向面积是因为在确定交集多边形顶点的顺序时,要利用三角形的有向面积进行方向判断。源程序://VC调试通过,
#include<stdio.h>
#include <stdlib.h>
#define ABS(x)  ((x)<0?-(x):(x))
struct point{float x;float y;};bool crosspt(pointp,point p1,point p2,point q1,point q2) //求线段(p1,p2)和(q1,q2)的交点float tmp,tp,tq;...
阅读全文
发表在 程序开发 | 标签为 , , | 留下评论