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

3D FPS

1234567890

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

常用鏈接

留言簿(10)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

24點(diǎn) 算法

  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 //     功能:把比較兩個(gè)浮點(diǎn)數(shù)是否近似相同  
 44 //     輸入:f1,   f2參與比較的兩個(gè)浮點(diǎn)數(shù)  
 45 //                               absDelta   兩個(gè)浮點(diǎn)數(shù)之間允許有多少個(gè)其他可以精確表達(dá)的浮點(diǎn)數(shù)存在,相當(dāng)于相對(duì)誤差  
 46 //     輸出:       true,兩個(gè)浮點(diǎn)數(shù)進(jìn)行相等;   false   兩個(gè)浮點(diǎn)數(shù)不等  
 47 //     注意:僅僅適合IEEE   32位浮點(diǎn)數(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ù)對(duì)象
  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 是一個(gè)類(lèi)!!!
 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點(diǎn)算 exe
函數(shù)對(duì)象的版本更正確些

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

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            亚洲精品资源美女情侣酒店| 久久久久久69| 久久蜜桃香蕉精品一区二区三区| 男人的天堂亚洲| 亚洲精品视频在线观看网站| 亚洲欧美日韩国产综合| 六月婷婷一区| 国产精品黄色| 亚洲国产高清aⅴ视频| 亚洲一区免费| 欧美成年人在线观看| 亚洲一区二区在线看| 美女啪啪无遮挡免费久久网站| 国产精品v欧美精品v日韩| 国外视频精品毛片| 中文国产成人精品久久一| 久久乐国产精品| 中文欧美在线视频| 美女脱光内衣内裤视频久久影院 | 欧美国产日本在线| 亚洲一区二区三区三| 欧美电影在线播放| 国产亚洲欧美另类中文 | 国产精品久久97| 亚洲国产成人精品视频| 欧美自拍偷拍午夜视频| 亚洲精品午夜| 六月婷婷久久| 国精品一区二区三区| 亚洲欧美日本日韩| 亚洲激情网站免费观看| 欧美在线综合| 国产精品久久久久毛片软件| 亚洲精品久久久久久一区二区 | 欧美成人亚洲成人日韩成人| 亚洲一区激情| 欧美日韩免费一区| 亚洲人精品午夜在线观看| 久热综合在线亚洲精品| 亚洲欧美资源在线| 欧美视频二区| 日韩视频在线你懂得| 免费不卡亚洲欧美| 欧美一区二区三区在线播放| 国产精品呻吟| 亚洲一区二区毛片| 亚洲精选一区| 欧美国产先锋| 亚洲激情偷拍| 欧美岛国在线观看| 久久久国产一区二区三区| 国产亚洲欧洲997久久综合| 亚洲欧美日韩在线观看a三区| a4yy欧美一区二区三区| 欧美aa国产视频| 91久久精品www人人做人人爽| 久久在线免费| 久久日韩粉嫩一区二区三区 | 欧美777四色影视在线| 欧美与欧洲交xxxx免费观看| 国产精品一区二区a| 欧美一级淫片aaaaaaa视频| 国产精品99久久不卡二区| 欧美日韩综合视频| 亚洲一区二区欧美| 在线午夜精品自拍| 欧美亚韩一区| 午夜精品成人在线视频| 亚洲欧美日韩中文播放| 国产欧美一区二区三区在线老狼| 久久成人一区二区| 欧美在线视频免费| 永久免费毛片在线播放不卡| 老司机一区二区三区| 久久综合九色九九| 亚洲精品乱码久久久久久按摩观| 亚洲国产精品久久久久秋霞影院 | 国产精品啊啊啊| 欧美伊人久久大香线蕉综合69| 欧美一二三视频| 一区二区三区在线视频观看| 免费人成精品欧美精品| 免费看的黄色欧美网站| 99re6这里只有精品| 一本久道久久综合婷婷鲸鱼| 国产精品久久久久婷婷| 久久激情五月婷婷| 久久久久久久网站| 亚洲卡通欧美制服中文| 亚洲精品一区二区网址| 国产精品久久久久久亚洲毛片| 欧美在线播放高清精品| 久久久久91| 日韩视频免费观看高清在线视频| 一区二区国产日产| 国产亚洲一区在线播放| 欧美护士18xxxxhd| 欧美午夜宅男影院| 久久久久久久久久久久久久一区| 巨乳诱惑日韩免费av| 亚洲视频一起| 久久成人精品视频| 亚洲乱码国产乱码精品精98午夜 | 国模私拍一区二区三区| 欧美大片一区二区三区| 欧美日韩一区二区国产| 久久久久久尹人网香蕉| 欧美精品久久久久久久久久| 亚洲欧美视频| 老牛嫩草一区二区三区日本| 久久久噜噜噜| 亚洲伦理精品| 午夜老司机精品| 亚洲精品少妇网址| 亚洲欧美经典视频| 亚洲三级色网| 午夜日韩在线| 亚洲伦理一区| 欧美一区二区视频网站| 一区二区三区蜜桃网| 久久精品二区亚洲w码| 亚洲无人区一区| 久久在线免费观看| 亚洲欧美日韩区| 欧美激情精品久久久久| 久久精品国产综合| 欧美精品在欧美一区二区少妇| 久久精品99| 欧美三级视频在线播放| 美国成人直播| 国产麻豆综合| 99精品国产99久久久久久福利| 极品少妇一区二区三区| 亚洲一区高清| 在线视频欧美日韩精品| 美女久久一区| 久久偷看各类wc女厕嘘嘘偷窃| 国产精品久久久久aaaa樱花| 亚洲国产高清aⅴ视频| 狠狠色狠狠色综合人人| 国产精品99久久久久久久久久久久 | 日韩亚洲一区二区| 久久国内精品自在自线400部| 亚洲尤物精选| 欧美美女操人视频| 欧美波霸影院| 韩国三级在线一区| 欧美亚洲一区二区三区| 亚洲男女自偷自拍| 欧美精品一区二| 欧美成人a视频| 一区精品久久| 欧美伊人久久久久久午夜久久久久 | 欧美激情中文字幕一区二区| 蜜臀av国产精品久久久久| 国产乱人伦精品一区二区| 99热在这里有精品免费| 99精品久久| 欧美激情一区二区三区成人| 欧美成人中文字幕| 影音先锋日韩有码| 久久久久九九九九| 久久久另类综合| 国产在线精品自拍| 午夜亚洲福利| 久久久久亚洲综合| 国内外成人免费激情在线视频| 欧美亚洲三级| 久久蜜桃资源一区二区老牛 | 亚洲第一精品夜夜躁人人躁| 黄色在线成人| 久久久人成影片一区二区三区观看| 久久国产精品久久久| 国产精品亚洲综合一区在线观看| 一区二区三区三区在线| 亚洲欧美久久久| 国产精品久线观看视频| 亚洲一区在线看| 欧美在线观看你懂的| 国产亚洲精品久久久久动| 久久高清福利视频| 麻豆成人在线观看| 亚洲大胆av| 欧美不卡视频| 亚洲美女在线看| 亚洲欧美久久| 国产一区二区日韩精品| 久久精品99无色码中文字幕 | 欧美国产三区| 99精品99久久久久久宅男| 亚洲女同同性videoxma| 国产精品你懂的在线| 午夜精品福利电影| 免费观看日韩| 亚洲乱码国产乱码精品精天堂| 欧美日韩一区二区三区四区在线观看| 一区二区三区精密机械公司| 欧美一区二区三区视频| 在线免费观看欧美| 欧美精品高清视频|