青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

3D FPS

1234567890

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  57 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

常用鏈接

留言簿(10)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

24點 算法

  1 #include "stdafx.h"
  2 #include <iostream>
  3 #include <functional>
  4 #include <math.h>
  5 #include <float.h>
  6 #include <string>
  7 
  8 using namespace std;
  9 
 10 #if 0
 11 
 12 double Add( double a,double b)
 13 {
 14     return a + b ;
 15 };
 16 
 17 double Sub( double a,double b)
 18 {
 19     return a - b ;
 20 };
 21 double BSub( double a,double b)
 22 {
 23     return b - a ;
 24 };
 25 
 26 double Muil( double a,double b)
 27 {
 28     return a * b ;
 29 };
 30 
 31 double Div( double a,double b)
 32 {
 33     return a / b ;
 34 };
 35 double BDiv( double a,double b)
 36 {
 37     return b / a ;
 38 };
 39 
 40 typedef double (*Fun)(double,double);
 41 
 42 //     函數(shù):       bool   IsEqual(float   f1,   float   f2,   int   absDelta)  
 43 //     功能:把比較兩個浮點數(shù)是否近似相同  
 44 //     輸入:f1,   f2參與比較的兩個浮點數(shù)  
 45 //                               absDelta   兩個浮點數(shù)之間允許有多少個其他可以精確表達的浮點數(shù)存在,相當于相對誤差  
 46 //     輸出:       true,兩個浮點數(shù)進行相等;   false   兩個浮點數(shù)不等  
 47 //     注意:僅僅適合IEEE   32位浮點數(shù)結(jié)構(gòu)  
 48 // bool   IsEqual(float   f1,   float   f2,   int   absDelta)  
 49 // {  
 50 //      int   i1,   i2;  
 51 //      i1   =   (   f1>0)     ?   ((int&)f1)     :   (   (int&)   f1   -   0x80000000   );  
 52 //      i2   =   (f2>0)     ?   ((int&)f2)     :   (   (int&)   f2   -   0x80000000   );  
 53 //      return       ((abs(i1-i2))<absDelta)   ?   true   :   false;  
 54 // 
 55 // } 
 56 
 57 
 58 #define FLOAT_EQ(x,v) (((v - EPSILON) < x) && (x <( v + EPSILON)))
 59 
 60 int _tmain(int argc, TCHAR* argv[])
 61 {
 62 
 63 
 64     Fun vfun[6= {Add,Sub,Muil,Div,BSub,BDiv};
 65     std::string str[6]  = {"+","-","*","/","被-","被/"};
 66     //int   av[4] = {1,5,5,5};
 67     int   av[4= {8,8,3,3};
 68     //int av[4] = {11,13,7,4};
 69     //int av[4] = {8,3,1,1};
 70 
 71 
 72     //cout<<IsEqual(56.342,56.342,1);
 73     //cout<<FLOAT_EQ(56.342,56.342);
 74 
 75     cout<<"\n";
 76 
 77     for(int i = 0; i < 6; i++){
 78         for(int j = 0; j < 6; j++){
 79             for(int k = 0; k < 6; k++){
 80                 for(int x1 = 0; x1 <4; x1 ++){
 81                     for(int x2 = 0; x2 <4; x2 ++){
 82                         for(int x3 = 0; x3 <4; x3 ++){
 83                             for(int x4 = 0; x4 <4; x4 ++)
 84                             {
 85                                  if(x1 != x2 && x1 != x3 && x1 != x4
 86                                      && x2 != x3 && x2 != x4 && x3 != x4)
 87                                 {
 88                                     double sum1 =  (vfun[i])(av[x1], av[x2]) ;
 89                                     double sum2 =  (vfun[j])(sum1 ,av[x3] ) ;
 90                                     double sum3 =  (vfun[k])(sum2,av[x4] ) ;
 91                                     //if( fabs(sum3-24.0f) < 0.01f)
 92                                     if( sum3 - 24.00 < 0.01 && 24.00 - sum3 < 0.01)
 93                                     {
 94                                         cout << av[x1] <<str[i] << av[x2] <<"="<< sum1<<"\n";
 95                                         cout << sum1 <<str[j] <<  av[x3]<<""<<sum2<<"\n";
 96                                         cout << sum2 <<str[k] << av[x4]<<"="<<sum3<<"\n";
 97                                         cout <<"\n";
 98                                         goto outfor7;
 99                                     }
100 
101                                 }
102                             }
103                         }
104                     }
105                 }
106             }
107         }
108     }
109     cout<<"imposbat";
110 
111 outfor7:
112 
113 
114     cin.get();
115 
116     return 1;
117 }
118 #endif

函數(shù)對象
  1 #include "stdafx.h"
  2 #include <iostream>
  3 #include <functional>
  4 #include <boost/array.hpp>
  5 #include <boost/function.hpp>
  6 
  7 using namespace std;
  8 using namespace boost;
  9 
 10 template<class _Ty>
 11 struct nminus
 12     : public binary_function<_Ty, _Ty, _Ty>
 13 {    // functor for operator-
 14     _Ty operator()(const _Ty& _Left, const _Ty& _Right) const
 15     {    // apply operator- to operands
 16         return (_Right - _Left);
 17     }
 18 };
 19 
 20 template<class _Ty>
 21 struct ndivides
 22     : public binary_function<_Ty, _Ty, _Ty>
 23 {    // functor for operator/
 24     _Ty operator()(const _Ty& _Left, const _Ty& _Right) const
 25     {    // apply operator/ to operands
 26         return (_Right / _Left);
 27     }
 28 };
 29 
 30 
 31 inline int GetExpoBase2(double d)
 32 {
 33     int i = 0;
 34     ((short *)(&i))[0= (((short *)(&d))[3& (short)32752); // _123456789ab____ & 0111111111110000
 35     return (i >> 4- 1023;
 36 }
 37 
 38 bool Equals(double d1, double d2)
 39 {
 40     if (d1 == d2)
 41         return true;
 42     int e1 = GetExpoBase2(d1);
 43     int e2 = GetExpoBase2(d2);
 44     int e3 = GetExpoBase2(d1 - d2);
 45     if ((e3 - e2 < -48&& (e3 - e1 < -48))
 46         return true;
 47     return false;
 48 }
 49 
 50 int _tmain(int argc,_TCHAR* argv[])
 51 {
 52     //cout<<plus(1,5);
 53     //error plus 是一個類!!!
 54     {
 55         boost::function<double (double,double)> fun;
 56 //         fun = negate< minus<double>() >();        
 57 //        cout<< (negate<double>())(  (minus<double>())(2,89) );
 58         //cout<<fun(2,89)<<"\n";        
 59     }
 60     
 61     {
 62         array< function<double (double,double )> ,6> funlist = 
 63         { plus<double>() , minus<double>() ,multiplies<double>() , divides<double>(), nminus<double>(), ndivides<double>() };
 64         array<std::string,6> name = {"+","-","*","/","b_","b/"};
 65         array<double,4> num= {5,3,3,3};
 66         //array<double,4> num= {5,5,5,1};
 67         //array<double,4> num= {8,8,3,3};
 68         //array<double,4> num= {8,3,3,3};
 69 
 70         for(int i = 0; i < funlist.size(); i++){
 71             for(int j = 0; j < funlist.size(); j++){
 72                 for(int k = 0; k < funlist.size(); k++){
 73                     for(int x1 = 0; x1 <4; x1 ++){
 74                         for(int x2 = 0; x2 <4; x2 ++){
 75                             for(int x3 = 0; x3 <4; x3 ++){
 76                                 for(int x4 = 0; x4 <4; x4 ++){
 77                                      if(x1 != x2 && x1 != x3 && x1 != x4
 78                                          && x2 != x3 && x2 != x4 && x3 != x4)
 79                                      {
 80                                          double sum1 =  funlist[i](  num[x1], num[x2]) ;
 81                                          double sum2 =  funlist[j](  sum1, num[x3]);
 82                                          double sum3 =  funlist[k]( sum2,num[x4]);
 83 
 84                                         double sum4 = funlist[i](  num[x1], num[x2]) ;
 85                                         double sum5 =  funlist[j](  num[x3], num[x4]);
 86                                          double sum6 =  funlist[k](  sum4, sum5 );
 87 
 88 //                                         static int ncoutstep = 0;
 89 //                                         ncoutstep++;
 90 //                                         cout<<sum3<<" ";
 91 //                                         if(ncoutstep % 7 == 0)
 92 //                                             cout<<endl;
 93 
 94                                         if( Equals(sum3,24.0|| sum3 == 24 )
 95                                         {
 96                                             cout << num[x1] <<name[i] << num[x2] <<"="<< sum1<<"\n";
 97                                             cout << sum1 <<name[j] <<  num[x3]<<""<<sum2<<"\n";
 98                                             cout << sum2 <<name[k] << num[x4]<<"="<<sum3<<"\n";
 99                                             cout <<"\n";
100                                             goto outfor7;
101                                         }        
102 
103                                         if( Equals(sum6,24.0|| sum6 == 24 )
104                                         {
105                                             cout << num[x1] <<name[i] << num[x2] <<"="<< sum4<<"\n";
106                                             cout << num[x3] <<name[j] <<  num[x4]<<""<<sum5<<"\n";
107                                             cout << sum4 <<name[k] << sum5 <<"="<<sum6<<"\n";
108                                             cout <<"\n";
109                                             goto outfor7;
110                                         }        
111 
112                                     }
113                                 }
114                             }
115                         }
116                     }
117                 }
118             }
119         }
120         cout<<"imposbat";
121 outfor7:
122 ;
123     }
124     cin.get();
125     return 1;
126 }

24點算 exe
函數(shù)對象的版本更正確些

posted on 2010-04-05 14:16 DK_jims 閱讀(247) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲高清av| 久久综合色影院| 日韩视频在线播放| 欧美在线亚洲一区| 亚洲免费一区二区| 欧美人交a欧美精品| 欧美激情亚洲视频| 在线播放视频一区| 久久国产精品亚洲77777| 午夜精品久久久久久99热软件| 欧美精品大片| 亚洲人成毛片在线播放女女| 亚洲破处大片| 欧美成人嫩草网站| 欧美黑人多人双交| 91久久综合亚洲鲁鲁五月天| 久久偷窥视频| 欧美黄色日本| 最新成人av网站| 欧美激情免费观看| 亚洲激情第一区| 一本大道久久a久久精品综合| 欧美成人精品一区二区| 亚洲国产mv| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲三级电影在线观看 | 永久免费精品影视网站| 久久精品国产免费看久久精品| 久久久综合香蕉尹人综合网| 狠狠久久亚洲欧美| 久久亚洲图片| 亚洲片区在线| 午夜精品久久久久久久| 国产亚洲激情| 久久久蜜臀国产一区二区| 免费观看在线综合色| 91久久综合亚洲鲁鲁五月天| 欧美日韩精品一区二区| 亚洲手机视频| 免费91麻豆精品国产自产在线观看| 亚洲高清自拍| 国产精品高清在线观看| 欧美在线二区| 欧美视频一区二区三区| 一区二区三区成人| 久久久免费观看视频| 亚洲精品日韩精品| 国产精品免费网站| 久久久久免费观看| 99re热精品| 久久久久综合| 99re6这里只有精品视频在线观看| 国产精品久久福利| 老牛影视一区二区三区| 一区二区av| 欧美77777| 亚洲欧美日韩区| 亚洲日本中文字幕免费在线不卡| 国产精品五月天| 欧美xart系列高清| 午夜在线播放视频欧美| 亚洲激情电影在线| 久久久久欧美| 亚洲女同同性videoxma| 亚洲国产成人高清精品| 国产欧美精品一区二区三区介绍| 老牛国产精品一区的观看方式| 亚洲一区二区三区中文字幕在线| 欧美国产日本高清在线| 久久精精品视频| 亚洲午夜羞羞片| 亚洲国产精品毛片| 国产午夜精品一区二区三区视频| 欧美激情第二页| 久热国产精品| 欧美在线免费播放| 亚洲一本视频| 99在线热播精品免费99热| 欧美sm视频| 久久久久久网| 欧美在线看片| 午夜一区在线| 亚洲一区二区三区免费观看| 91久久综合| 最近中文字幕日韩精品| 在线日韩精品视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品一区二区久久久| 欧美日韩亚洲三区| 欧美精品1区2区| 欧美成人网在线| 另类综合日韩欧美亚洲| 久久精品国产一区二区电影 | 免费观看亚洲视频大全| 久久久久国产精品厨房| 欧美专区一区二区三区| 欧美一区二区在线播放| 午夜精品在线看| 午夜精品一区二区三区在线| 亚洲伊人久久综合| 亚洲男人第一av网站| 亚洲欧美日韩一区二区| 亚洲专区一二三| 欧美一区在线看| 久久久久国产精品www| 久久偷看各类wc女厕嘘嘘偷窃| 久久精品中文字幕一区二区三区| 久久精品国语| 久久午夜激情| 欧美国产免费| 欧美性开放视频| 国产精品日韩欧美一区二区| 国产欧美日韩综合一区在线观看 | 亚洲午夜国产成人av电影男同| 一区二区三区高清在线| 亚洲亚洲精品在线观看 | 久久亚洲美女| 亚洲成人中文| 99国产精品一区| 亚洲一级高清| 久久久久久电影| 欧美激情成人在线| 欧美午夜精品一区| 国产一区二区三区视频在线观看| 一区免费观看| 一本大道久久精品懂色aⅴ| 亚洲专区国产精品| 久久综合色8888| 亚洲国产精品一区制服丝袜| 一区二区三区产品免费精品久久75 | 欧美午夜精品久久久久久浪潮 | 亚洲大片精品永久免费| 一本色道88久久加勒比精品 | 久久人人97超碰精品888| 欧美韩日一区二区三区| 国产精品久久久久91| 韩日在线一区| 亚洲无线视频| 美日韩精品免费| 亚洲一区二区不卡免费| 麻豆精品网站| 国产精品一页| 99re视频这里只有精品| 久久国产精品久久久久久久久久 | 久久这里只有| 一本综合精品| 免费av成人在线| 国产精品永久免费观看| 亚洲日产国产精品| 久久久久久久一区二区三区| 亚洲精品国产精品国产自| 欧美一区二区三区婷婷月色| 欧美日韩国产一级片| 一区在线播放| 欧美在线亚洲| 99一区二区| 欧美国产视频在线| 一区在线播放| 久久精品1区| 一区二区三区四区精品| 美国三级日本三级久久99| 国产亚洲毛片| 午夜精品久久久久久| 99精品久久久| 欧美国产成人精品| 影音先锋日韩资源| 久久九九热免费视频| 亚洲图片欧美一区| 欧美日韩亚洲一区二| 亚洲乱码视频| 亚洲福利久久| 蜜乳av另类精品一区二区| 国产在线高清精品| 欧美在线一二三四区| 亚洲性夜色噜噜噜7777| 国产精品超碰97尤物18| 一区二区三区欧美视频| 亚洲国产一区二区在线| 蜜桃伊人久久| 亚洲破处大片| 91久久中文| 欧美紧缚bdsm在线视频| 99re6这里只有精品| 亚洲激情中文1区| 欧美精品在线观看91| 99综合在线| 亚洲精品裸体| 欧美图区在线视频| 亚洲欧美日韩天堂一区二区| 亚洲视频在线观看一区| 国产精品久久久久久久久久久久久| 亚洲社区在线观看| 亚洲午夜视频| 国产亚洲一区二区在线观看| 久久精品一区二区三区不卡| 久久爱www久久做| 亚洲第一天堂无码专区| 亚洲高清不卡在线| 欧美日韩精品在线视频| 午夜精品久久|