- 博客(8)
- 资源 (2)
- 收藏
- 关注

原创 黄金分割数高精度计算
黄金分割数表达式为模拟笔算开方算法C++代码(十进制):#include using namespace std;int main (void){ int d,e=2,i=0,j,k=10,N,m; cout>N,N++; int *a=new int[2*N],*b=new int[N],*c=new int[2*N]; while(++i<2*N)a[i]=b[i
2017-01-08 03:08:43
1903
原创 关灯游戏 Lights out (四)(多种颜色,难度升级版)
传统的关灯游戏,颜色只有亮、灭两种情况,现在将传统的关灯游戏升级,颜色不仅只有两种,而是两种以上。在多种颜色中,其中一种颜色表示灯熄灭。游戏规则稍稍变动了一下: 初始局面:在一个m×n的阵列里,有若干盏灯亮着(可以全部都亮着或都熄灭;对于全熄灭状态,无任何操作是一种解法,还可能有其他可以将所有灯再度熄灭的解法) 游戏操作:点击任意一盏灯(不管该灯是亮着还是熄
2017-02-08 08:44:37
2013
原创 关灯游戏 Lights out (三)(线性代数+高斯消元,搜索全部解)
关灯游戏和线性代数联系紧密,对于一个 的灯阵,用线性方程组+高斯消元法求解,时间复杂度为O(m×n)^3。相对于首行枚举算法复杂度O(2^n) ,线代算法的时间复杂度低很多。用线性代数求解关灯游戏是个很不错的选择。 本文用最通俗的语言介绍线代求解关灯游戏原理。由于解释通俗化,细节之处难以严谨表述,说得不好的地方,请大神轻拍。线性方程组求解关灯游戏的原理问题:
2017-02-06 05:50:14
7821
1
原创 关灯游戏 Lights out (二)(首行枚举+位运算,搜索全部解)
关灯游戏的简介就不介绍了,还不了解的朋友可点击笔者的上一篇博文----关灯游戏 Lights out (一)(极速求解) 在这一篇给大家介绍“关灯游戏”的枚举算法。 枚举算法很简单,就是枚举所有开关操作,然后逐一检索经过各种操作后局面的最终状态,当灯全灭时输出解。 对一个m×n的灯阵,并不需要枚举整个局面2^(m×n)种开关组合。因为任意
2017-01-19 17:13:39
7247
1
原创 关灯游戏 Lights out (一)(极速求解)
关灯游戏(Lights Out) 关灯游戏是Tiger Electronics在1995年发行的一款电子游戏。 关灯游戏规则非常简单,在一个M*N阵列里,有若干盏灯亮着(可以全部都亮着),点击任意一盏灯(不管此灯是亮着还是灭着,都可以点),那么该灯以及与该灯相邻的上、下、左、右共五盏灯都同时会变成与自身相反状态,即亮的变灭,灭的变亮(由于边角的特殊性,点击边
2017-01-12 08:35:17
19546
原创 所有四阶幻方
四阶幻方,含旋转反射相同的解有7040个,不含旋转反射相同的解有880个,数量不多,比较容易求得所有解。为了求解所有四阶幻方,我们采用穷举法,对16个数值进行全排列无死角搜索。对16个数值全排列,有16!=20922789888000种不同情况!数量巨大,如果逐一检索,耗时太长,必须减小搜索量。幻方的一般性质为:幻方每一行之和、每一列之和、两条对角线之和都相等,都等于幻和(四阶幻和为34)
2017-01-11 12:34:13
9957
2
原创 高精度计算e
e=2.71828182845904523536028747135......高精度计算e非常简单,下面是e的高精度计算程序(为追求代码精简,程序效率并非最好)。程序一采用公式C代码:#includelong a,b,i,j,k,N=10005,e[10005],c[10005];int main(void){ /*计算10000位e(含整数2)*/
2017-01-09 06:34:52
2129
4
原创 马青公式计算圆周率程序
马青公式(梅钦公式、Machin)计算圆周率是这样的:用这公式每增加计算一项,就可以增加约1.39位圆周率准确值,计算百万以下级别精度的圆周率,速度还算满意。马青公式级数展开后,可以看做两大项,编程可以开两个线程分别同时对这两大项进行计算。为了精简,在这里采用单线程编程。级数中的分数,分母增长很快,一下子就超出int、long甚至__int64或long long的数值范围,看
2017-01-09 05:30:52
12582
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人