西西河

主题:【原创】一个游戏引发的无血案 -- Highway

共:💬45 🌺54
全看分页树展 · 主题 跟帖
家园 俺除了佩服,还有几十个弱智问题...

俺的考试压力现在依然还有,所以时不时地问上几个弱智问题,望highway兄和众河友多多担待。

我的游戏算法大概是这样的:

1) 任意给四个1-13之间的数字

2) 求出所有的排列来。

3) 把加减乘除运算符加进去,列出所有可能的计算表达式(优先级也要考虑)

4) 对每个表达式进行求解,如果是24,那么这个表达式就是一个答案。

对于四张牌,全循环一次40秒左右

俺一直没好意思问,怎样才算一次全循环?就是说把所有的可能性都找一遍吗?俺的C程序也能给出答案(嘿嘿,有些输出只有俺能看懂)但给出答案怎么会比40秒要快很多?!

highway兄和众河友们不妨解决一下我前段碰到的这样一个问题:

#include <iostream>

#include <ctime>

using namespace std;

int main()

{

clock_t start,end;

start=clock();

cout<<start<<'\n';

for (int i=0;i<10000;i++)

{ for (int i=0;i<10000;i++); }

end=clock();

cout<<end<<'\n';

cout<<"ticks= "<<(end-start)<<'\n';

cout<<CLOCKS_PER_SEC<<'\n';

}

这2个for空循环在cygwin编译器上运行,41秒!而在Microsoft VC++ 2005 上,即使再添几个0,

for (int i=0;i<10000000;i++)

{ for (int i=0;i<10000000;i++); }

也是0秒(release)! 怎么回事?

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河