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

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>
            欧美一区二区三区免费视频| 91久久香蕉国产日韩欧美9色| 久久久精品视频成人| 亚洲欧美高清| 欧美有码在线观看视频| 欧美亚洲在线观看| 每日更新成人在线视频| 欧美日韩岛国| 亚洲电影免费观看高清完整版在线观看 | 蜜乳av另类精品一区二区| 久久久噜噜噜久噜久久| 欧美激情一二区| 一区二区av在线| 欧美中在线观看| 欧美激情综合亚洲一二区 | 国产欧美日韩亚洲精品| 在线观看国产精品淫| 一区二区三区日韩精品| 久久综合色88| 亚洲天堂久久| 欧美大片在线观看一区| 国产一区二区日韩精品| 亚洲一区国产| 亚洲日本理论电影| 欧美在线视频网站| 国产精品伦理| 亚洲精品在线电影| 久热精品视频在线观看一区| 亚洲视频欧美在线| 欧美国产精品久久| 伊人夜夜躁av伊人久久| 性做久久久久久| 亚洲美女在线一区| 欧美国产视频一区二区| 在线欧美日韩精品| 久久久www| 性8sex亚洲区入口| 国产精品麻豆欧美日韩ww | 亚洲欧美日韩精品久久亚洲区| 免费亚洲电影在线观看| 欧美在线视频播放| 国产麻豆精品视频| 午夜精品一区二区三区电影天堂 | 好看的日韩视频| 欧美一区二区久久久| 亚洲网址在线| 国产精品超碰97尤物18| 这里只有精品电影| 99pao成人国产永久免费视频| 欧美久久久久久蜜桃| 久久精品视频在线| 久久精品青青大伊人av| 亚洲色无码播放| 欧美伦理影院| 亚洲美女免费视频| 亚洲国产一区二区三区a毛片| 久久免费黄色| 1024成人网色www| 欧美h视频在线| 久久资源av| 亚洲精品三级| 亚洲精品国产精品久久清纯直播| 欧美高清视频一区二区| 中文一区二区在线观看| 在线亚洲精品福利网址导航| 欧美日本一区二区视频在线观看| 99精品黄色片免费大全| 亚洲伦伦在线| 国产美女精品视频免费观看| 久久精品一区| 老牛影视一区二区三区| 亚洲伦理中文字幕| 亚洲一二三区精品| 狠狠久久亚洲欧美| 亚洲狠狠丁香婷婷综合久久久| 欧美日韩国产精品一区| 香蕉久久精品日日躁夜夜躁| 久久精品国产99国产精品| 亚洲三级影院| 亚洲小说欧美另类社区| 精品成人一区| 一本在线高清不卡dvd | 久久久久91| 亚洲精选在线| 亚洲午夜精品一区二区| 精品1区2区| 9i看片成人免费高清| 国产一区二区三区日韩欧美| 亚洲高清一区二| 国产精品一区久久久| 免费久久99精品国产自在现线| 欧美精品国产一区二区| 久久久免费精品| 欧美日韩国产精品专区| 久久字幕精品一区| 国产精品theporn| 欧美va日韩va| 国产欧美一区二区精品婷婷| 亚洲国产精品久久久久秋霞影院| 国产精品理论片在线观看| 欧美国产日韩一二三区| 国产日韩欧美91| 亚洲美洲欧洲综合国产一区| 在线观看一区视频| 亚洲欧美综合| 亚洲午夜精品| 模特精品裸拍一区| 免费91麻豆精品国产自产在线观看| 欧美午夜精品一区二区三区| 欧美高清在线一区二区| 国内自拍视频一区二区三区| 亚洲精品日日夜夜| 午夜精彩视频在线观看不卡 | 久久福利一区| 午夜精品国产更新| 欧美色道久久88综合亚洲精品| 免费成人高清在线视频| 国产精品无码永久免费888| 亚洲精品在线免费| 亚洲人成人99网站| 麻豆免费精品视频| 久久久欧美一区二区| 国产欧美1区2区3区| 中文在线一区| 亚洲影院一区| 国产精品麻豆成人av电影艾秋| 亚洲精品视频二区| 中日韩视频在线观看| 欧美三区免费完整视频在线观看| 亚洲承认在线| 亚洲免费激情| 欧美日韩国产综合视频在线| 亚洲伦理在线观看| 亚洲欧美国产日韩天堂区| 国产精品久久久久久久久动漫| 亚洲人成网站在线播| 日韩一区二区精品葵司在线| 欧美激情亚洲自拍| 亚洲精品久久久蜜桃| 亚洲一级片在线观看| 国产精品嫩草99av在线| 午夜激情一区| 欧美成人免费一级人片100| 亚洲韩日在线| 欧美日韩一区在线观看| 亚洲永久在线| 麻豆成人av| 亚洲日本中文| 欧美日韩一区精品| 欧美在线999| 美女久久网站| 99精品99| 国产日韩欧美不卡在线| 久久视频一区| 亚洲精选一区二区| 久久激情久久| 亚洲国产日韩欧美在线图片| 欧美日韩激情小视频| 欧美亚洲日本一区| 亚洲成人中文| 欧美夜福利tv在线| 亚洲福利在线看| 欧美午夜大胆人体| 久久久人成影片一区二区三区| 亚洲黄色av| 久久久久国产一区二区三区| 亚洲激情第一页| 国产精品永久免费在线| 久久亚洲二区| 亚洲欧美另类在线| 亚洲国产精品成人va在线观看| 香蕉久久夜色精品国产| 亚洲精品一二区| 国内一区二区三区在线视频| 欧美日韩国产区一| 久久在线免费观看| 亚洲图片在线观看| 亚洲人成精品久久久久| 久久精品一二三区| 亚洲一区激情| 99精品99久久久久久宅男| 久久视频国产精品免费视频在线| 一本色道久久综合亚洲91 | 18成人免费观看视频| 欧美性猛交xxxx乱大交退制版| 久久精品夜色噜噜亚洲a∨| 在线视频日韩精品| 亚洲国产成人精品女人久久久 | 蜜桃久久精品乱码一区二区| 亚洲女爱视频在线| 亚洲最黄网站| 亚洲国产日韩在线| 毛片av中文字幕一区二区| 亚洲欧美综合| 亚洲一区二区在线看| 亚洲视频axxx| 在线性视频日韩欧美| 日韩午夜电影av| 亚洲精品综合精品自拍| 亚洲人成人一区二区在线观看 |