博文

卡西尼悖论(2007-05-11 12:45:00)

摘要:  卡西尼悖论: 有一个8×8的棋盘,按照图a所示,将它切成两个梯形和两个三角形,然后再按图b把它们拼接起来,图a的面积是8×8=64,而图b面积是13 ×5=65,请解释该悖论 ?? ......

阅读全文(2483) | 评论:1

选票问题(2007-03-28 16:32:00)

摘要:#include <iostream.h>#include <stdlib.h>#include <string.h>   const int defaultsize=30;const int n=10;struct person {    char name;    int count ;} leader [n];template <class type> class array{public:  array( type b[ ],int n );            //构造函数  ~array( ){ delete [ ] a ; }    //析构函数  int arraymin (int n)                 //求数组中的最小值  { int min=a[0];    for (int i=1; i<n; i++)     if (a[i]<min) min=a[i];    return min;  }                     void election(int n )               //选票统计算法  {  char nam;     cin>......

阅读全文(2003) | 评论:0

抽奖问题(2007-03-24 12:18:00)

摘要:  有三个一样大的箱子,分别放着笔记本电脑,一枝笔和一盒糖,当然事先你不知道那个箱子装的是那件东西,现在让你选择其中一个箱子,然后由工作人员打开另外两个箱子中的一个(假定工作人员知道那个箱子里装的是什么),如果工作人员打开的那 首先三个箱子选中的平均概率1/3=0.333, 而二个箱选中的平均概率1/2=0.5,所以后种选中笔记本电脑机会要多一些 个箱子没有电脑,现在你还可以作最后的选择:是坚持原来的选择还是选择另一个没有打开的箱子? 问哪种选择获得电脑的概率会更大一些? ......

阅读全文(2196) | 评论:0

计算煎饼的时间(2007-03-24 12:12:00)

摘要:2.计算煎饼的时间:用一只平底锅煎饼,每次只能放两个饼,煎熟一只饼需要2分钟(正反面各需要1分钟),问煎三只饼至少需要几分钟?怎样煎?又问如果需要煎n只饼,至少需要几分钟 ??   煎饼的时间分析:      分析一:   分3次煎,煎一个饼需要时间=2分钟, 所以, 3个饼=3*2分钟=6分钟                       分析二:  三个饼分两次煎,第一次煎2个需要2分钟,第二次煎一只饼需要2分钟                      所以,煎三个饼需要4分钟      分析三: 第一次放二个饼一分钟后, 取出一个饼,再放入一个饼一分钟后取出                    一只熟饼共花2分钟,再把取饼放入盘中只需一分钟,三只饼共3分钟 ......

阅读全文(3131) | 评论:0

棋盘的笫1个方格内只放1粒麦粒,笫2个方格内只放2粒麦粒,笫3个方格内只放4粒麦(2007-03-18 13:49:00)

摘要:  1.国际象棋是很久以前由印度人Shashi发明的,当他把该发明献给国王时,国王很高兴,就许诺可以这个发明 明者任何他想要的奖赏。 Shashi要求以这种方式给他一些粮食:棋盘的笫1个方格内只放1粒麦粒,笫2个方格内只放2粒麦粒,笫3个方格内只放4粒麦粒,笫4个方格内只放8粒麦………,以此类推,直到64个方格金部放满,问这个奖赏的结果会是什么样呢? #include<iostream.h>#include<math.h>int main(){ float a,n,sum=0; for(a=0;a<=63;a++){ n=pow(2,a); sum+=n; } cout<<"n="<<n<<endl; return 0;}......

阅读全文(2978) | 评论:0

数据结构--搬砖问题:今有36块砖,36人搬,男搬4,女搬3,两个小孩抬一砖,要(2007-03-18 11:42:00)

摘要:  设计一个对下列问题的求解算法,并给出该算法的时间 复杂度和空间复杂度     今有36块砖,36人搬,男搬4,女搬3,两个小孩抬一砖,要求一次搬完,问男女小孩各需若干      提示:用穷举法求满足方程的解: 4.0*m+3.0*w+0.5*c=36.0   //源程序如下.如有不妥之处不要见怪.呵呵!!! #include<iostream.h>#include<iomanip.h>void main(){ int m,w,c; cout<<"    男    女    小孩"<<endl; for(m=0;m<=8;m++)  for(w=0;w<=11;w++){   c=36-m-w;   if((4.0*m+3.0*w+0.5*c==36.0   )&&(c%3==0))    cout<<setw(6)<<m<<setw(10)<<w<<setw(10)<<c<<endl;  }}      另一种方法: #include <iostream.h> Bz(int x,int y,float z ,float w )    { int w,m,c;       for ( m=0;m<9;m++)       for( w=0;w<12;w++)           {   c=36-m......

阅读全文(6743) | 评论:0

古代数学家张丘建在它所撰定的《算经》中,提出这样一个问题(2007-03-17 15:36:00)

摘要:  一、公元5世纪末,我国古代数学家张丘建在它所撰定的《算经》中,提出这样一个问题:“鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何?”意思是说公鸡每只5元,母鸡每只3元,小鸡3只1元,用100元钱买100只鸡,求公鸡、母鸡、小鸡的只数。试设计算法求解该问题,并分析你的算法的时间复杂度。   #include<iostream.h>#include<iomanip.h>void main(){ int i,j,k; cout<<"     公鸡    母鸡     小鸡"<<endl; for(i=0;i<=20;i++)  for(j=0;j<33;j++){   k=100-i-j;   if((5*i+3*j+k/3==100)&&(k%3==0))    cout<<setw(6)<<i<<setw(10)<<j<<setw(10)<<k<<endl;  }}......

阅读全文(3534) | 评论:0

继承(2007-01-14 15:05:00)

摘要:1.派生类不能访问其基类的private成员,否则会破坏基类的封装性.但是派生类能够访问基类的public成员和proected成员.2.调用析构函数的次序和调用构造函数的次序相反,因此派生类析构函数在基类函数析构函数之前调用.3.指向派生类对象的指针可以隐式地转换为指向基类对象的指针.4.对于一个派生类对象,先调用基类的构造函数,然后调用派生类的构造函数.5.不适合派生类的基类成员可以在派生类中重新定义.6.从publiC基类派生一个类时,基类的public和protected成员都成为派生类的protected成员.从private基类派生一个类时,基类的public和protected成员均成为派生类的private成员.......

阅读全文(1864) | 评论:0

有关指针(2006-12-28 21:47:00)

摘要:1.c++用三种方式向函数传递数值:按值调用(call-by-value)\用引用参数按用调用(call-by-rdference reference argument)和用指针参数按引用(call-by-reference pointer argument).2.函数参数使用或不用const限定符的可能性有六种,两种用按值调用传递参数,四种按引用调传递参数,根据最低权限原则来进行选择.3.将指针传递给函数有四种方法:非常量数据的非常量指针\常量数据的非常量指针\非常量数据的常理指针和常量数据的常理指针.4.非常量数据的常量指针总是指向相同的内存地址,该地址中的数据可以通过指针修改.5.声明为const的指针不在声明时初始化是个语法错误.6.sizeof是个运算符而不是个函数.......

阅读全文(2001) | 评论:0

关于C++的一些重要的知识点(类与数据抽象)III(2006-12-28 21:45:00)

摘要:1.结构是用其他类型的元素建立的聚合数据类型.2.结构定义用关键字struct引入,结构体放在花括号({})中,结构定义以分号结尾.3.结构标志声明结构型的变量.4.结构定义并没有在内存中保留任何空间,而是生成新的数据类型,用于声明变量.5.使用成员访问运算符(包括圆点运算符和箭头运算符)访问结构成员或类成员.圆点运算符通过对象的变量或对象的引用访问结构和类成员.箭头运算符通过对象指针访问结构和类成员.6.通过结构生成新的数据类型有一定的缺点,可能出现末初始化的数据.如果struct的实现方法,则所有使用这个strumt的程序都要改变.没有保护机制保证数据的正确和保持数据的一致状态.7.类使程序员可以构造有属性和行为的对象.c++中用关键字class或struct定义的类型,通常用关键字class.8.可以用类名声明该类的对象.9.类定义以关键字class开始.害定义体放在左右括号({})之间.类定义用分号终止.10.任何可以访问类的对象的函数可以访问任何在public后面声明的数据成员和成员函数.      ......

阅读全文(2323) | 评论:0