- 博客(90)
- 资源 (1)
- 收藏
- 关注
原创 一篇有关内存对齐的文章
经常看到一些笔试题考到这块的内容,网上搜了下确实没必要深究这个,因为这个和平台编译器有关系。但是至少心里有个底,在遇到笔试面试就比较有货。 最经常看到的是先定义一个类,然后sizeof(class)问你输出多少?这个就考到内存对齐的内容。 那什么叫内存对齐呢?网上搜了下也没个明白的解释,个人理解就是为了方便编译器管理内存,对程序中定义的类型所占用的内存进行优化处
2013-08-06 22:25:05
676
原创 (百例编程)88.常胜将军
题目:现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。/*题目:现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。by as1138 2
2013-06-01 21:02:55
1436
原创 (百例编程)87.黑白子交换
题目:有三个白子和三个黑子如下图布置:○ ○ ○ . ● ● ● 游戏的目的是用最少的步数将上图中白子和黑子的位置进行交换:● ● ● . ○ ○ ○ 游戏的规则是:(1)一次只能移动一个棋子; (2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。请用计算机实现上述游戏。/*题目:有三个白子和三个黑子如下图布置:○ ○ ○
2013-05-25 23:47:11
2339
原创 base64加解密
//base64 加解密//by as1138 2013-05-18#include #include #include using namespace std;string base64_encode(const char* pSrc, size_t nLen);string base64_decode(const char* pSrc, size_t nLen);char
2013-05-18 16:36:44
895
原创 一个字符串查找的函数
看别人代码,发现字符串查找的一个方法,就是头尾比较,然后再对这个头尾区间的内存竟然比较,最终确定是否找到。觉得自己之前没想到,回家后自己实现了一个,或者自己编程不够丰富哈哈。(看比自己强的人写的代码是一种学习!O(∩_∩)O)//找到的话返回指向Dstr的指针,找不到则返回空//找到头尾字节,然后内存比对char* StrFind( const char* Sstr, const
2013-04-21 18:14:27
776
原创 (百例编程)86.自动发牌
题目:一副扑克有52张牌,打桥牌时应将牌分给四个人。 请设计一个程序完成自动发牌的工作。要求:黑桃用S(Spaces)表示;红桃用H(Hearts)表示;方块用D(Diamonds)表示;梅花用C(Clubs)表示。/* 86.cpp 题目:一副扑克有52张牌,打桥牌时应将牌分给四个人。 请设计一个程序完成自动发牌的工作。要求:黑桃用S (Spaces)表示;红桃用H(Hearts)表
2013-01-25 22:07:55
1321
原创 读《C++沉思录》第一章有感
“我考虑的是问题的本质是什么,再定义一个类来抓住这个本质,并确保这个类能独立地工作,然后再遇到符合这个本质的问题时就使用这个类。”——《C++ 沉思录》P20 这句话让我陷入了思考,当今面向对象编程思想很流行,但是为什么要使用这个编程思想呢?这个至少我没有认真地考虑过,但是由于这句话,让我开始考虑这个问题。最后我得出的结论是:“面向对象的思想是一种我们认知世界的数据结构”。 我
2013-01-25 21:30:19
551
原创 (百例编程)85.回文数的形成
题目:任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后重复以上步聚,则最终可得到一个回文数。/* 85.cpp 题目:任取一个十进制整数,将其倒过来后与原来的整数相加, 得到一个新的整数后重复以上步聚,则最终可得到一个回文数。 by as1138 */#include using namespace std;long reNum(long num);//反
2013-01-23 22:30:37
1478
原创 (百例编程)84.尼科彻斯定理
题目:验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和。/*84.cpp题目:验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和。对于任一正整数a,不论a是奇数还是偶数,整数(a×a-a+1)必然为奇数。构造一个等差数列,数列的首项为(a×a-a+1),等差数列的差值为2(奇数数列),则前a项的和为:a×((a×a-a+1))+2×a(a-1
2013-01-22 22:00:28
798
原创 (百例编程)83.卡布列克常数
题目:验证卡布列克运算。任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);3)求两个数的差,得到一个新的四位数(高位零保留)。重复以上过程,最后得到的结果是6174,这
2012-11-04 20:51:26
2117
原创 (百例编程)82.四方定理
题目:数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。请编程证此定理。/* 82.cpp 题目:数论中著名的“四方定理”讲的是:所有自然数至多 只要用四个数的平方和就可以表示。请编程证此定理。 by as1138 2012-11-04*/#include using namespace std;int main(){ int n
2012-11-04 19:04:05
1505
原创 (百例编程)81.角谷猜想
题目:日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。/* 81.cpp 角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明, 而教授无能为力,于是产生角谷猜想。猜想的内容是:任 给一个
2012-10-27 16:39:25
2205
原创 (百例编程)80.奇数平方的一个有趣的性质
题目:编程验证“大于1000的奇数其平方与1的差是8的倍数”。/* 80.cpp 奇数平方的一个有趣性质 题目:编程验证“大于1000的奇数其平方与1的差是8的倍数”。 by as1138 2012-10-27*/ #include using namespace std; int main(int argc, char const *argv[]) { for (i
2012-10-27 15:54:24
975
原创 (百例编程)79.求π的近似值(2)
题目:利用随机数法求π的近似值/*79.cpp利用随机数法求π的近似值。圆心在原点,位于第一象限的1/4圆,求在一点范围内的大量随机点落于在这1/4的圆内的概率。来估算π。by as1138 2012-10-14*/#include #include #include using namespace std;#define MAXNUM 100#define LO
2012-10-14 21:34:22
1384
原创 (百例编程)78、求π的近似值
题目:请利用“正多边形逼近”的方法求出π的近似值。/*78.cpp求π的近似值用正六边形为起始近似图形,然后比较2次π的结果π=多边形边长数*边长的一半by as1138 20121006*/#include #include #include using namespace std;int main(int argc, char const *argv[]){
2012-10-06 00:45:19
2152
原创 (百例编程)77.波松瓦酒的分酒趣题
题目:法国著名数学家波瓦松在表年时代研究过一个有趣的数学问题:某人有12品脱的啤酒一瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和5品脱的容器,怎样倒才能将啤酒分为两个6品脱呢?/*题目:法国著名数学家波瓦松在表年时代研究过一个有趣的数学问题:某人有12品脱的啤酒一瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和5品脱的容器,怎样倒才能将啤酒分为两个6
2012-08-13 15:29:19
2854
原创 (百例编程)76.小明买书
题目:小明假期同爸爸一起去书店,他选中了六本书,每本书的单价分别为:3.1,1.7,2,5.3,0.9和7.2。不巧的是,小明的爸爸只带了十几块钱,为了让小明过一个愉快的假期,爸爸扔然同意买书,但提邮购一个要求,要小明从六本书中选出若干本,使得单价相加所得的和同10最接近。你能够帮助小明解决这个问题吗?/*题目:小明假期同爸爸一起去书店,他选中了六本书,每本书的单价分别为:3.1,1.7,
2012-08-12 18:08:48
2545
原创 (百例编程)75.10个小孩分糖果
题目:十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖?//编程百例75/*题目:十个小孩围成一
2012-08-10 15:06:24
2730
原创 (百例编程)74.可称1~40磅的4块砝码
题目:法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少?//编程百例74/*题目:法国数学家梅齐亚克在他著名的《数字组合游戏》 (1962)中提出了一个问题:一位商人有
2012-08-05 23:47:27
2367
原创 (百例编程)73.和数能表示1~23的5个正整数
已知五个互不相同的正整数之和为23,且从这五个数中挑选若干个加起来可以表示从1到23之内的全部自然数。问这五个数是什么?#include #include #include using namespace std;void zuhe(int* nData,int len,int cur,int num);//组合函数vector nVecTmp;bitset bs;//23位来检
2012-06-10 16:21:43
2176
原创 (百例编程)72.邮票组合
题目:某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?//题目:某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?//by as1138 2011-10-29#include using namespace std;int main(void){ int i,j,t = 0; int su
2012-06-10 16:18:14
870
原创 (百例编程)71.约瑟夫问题
题目:这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。//题目:这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲
2012-06-10 16:17:17
1522
原创 (百例编程)70.魔术师猜纸牌(2)
题目:魔术师再次表演,他将红桃和黑桃全部迭在一起,牌面朝下放在手中,对观众说:最上面一张是黑桃A,翻开后放在桌上。以后,从上至下每数两张全依次放在最底下,第三张给观众看,便是黑桃2,放在桌上后再数两张依次放在最底下,第三张给观众看,是黑桃3。如此下去,观众看到放在桌子上牌的顺序是:黑桃 A 2 3 4 5 6 7 8 9 10 J Q K红桃 A 2 3 4 5 6 7 8 9 10 J Q K问
2012-06-10 16:16:01
1306
原创 (百例编程)69.魔术师的猜牌术(1)
题目:魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,牌面朝下。对观众说:我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看。魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,将黑桃A放在桌子上,然后按顺序从上到下数手上的余牌,第二次数1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数
2012-06-10 16:14:41
2061
原创 (百例编程)68.九位累进可除数
题目:求九位累进可除数。所谓九位累进可除数就是这样一个数:这个数用到1到9这九个数字组成,每个数字刚好只出现一次。这九个位数的前两位能被2整除,前三位能被3整除......前N位能被N整除,整个九位数能被9整除。//题目:求九位累进可除数。所谓九位累进可除数就是这样一个数:这个数用到1到9这九个数字组成,//每个数字刚好只出现一次。这九个位数的前两位能被2整除,前三位能被
2012-06-10 16:13:40
1351
原创 (百例编程)66.除式还原(1)
题目:给定下列除式,其中包含5个7,其它打×的是任意数字,请加以还原。× 7 × --------------商--------------除数------××| ×××××-------------被除数×7 7--------------× 7 ×× 7 ×----------× ×× ×-------
2012-06-10 16:11:49
1607
原创 (百例编程)65.乘式还原(2)
题目:有乘法算式如下: ○○○× ○○------------○○○○○○○○------------○○○○○ 18个○的位置上全部是素数(1、3、5或7),请还原此算式。//题目:有乘法算式如下:/*○○○× ○○------------○○○○○○○○------------○○○○○ 18个○的位置
2012-06-10 16:08:59
1884
原创 (百题编程)64.乘式还原
题目:A代表数字0到9中的前五个数字,Z代表后五个数字,请还原下列乘式。 A Z A × A A Z ------------ A A A A A A Z Z Z A A ------------ Z A Z A A //题目:A代表数字0到9中的前五个数字,Z代表后五个数字,请还原下列乘式。/* A Z
2012-06-10 16:07:42
1968
原创 (百例编程)63.减式还原
题目:编写程序求解下式中各字母所代表的数字,不同的字母代表不同的数字。范式如下:PEAR- ARA--------PEA//题目:编写程序求解下式中各字母所代表的数字,不同的字母代表不同的数字。范式如下:/*PEAR- ARA--------PEA*///BY as1138 2011-10-07#include using name
2012-06-10 16:06:33
1232
原创 (百例编程)62.由8个整数形成奇特的立方体
题目:任意给出8个整数,将这8个整数分别放在一个立方体的八个顶点上,要求每个面上的四个数之和相等。//题目:任意给出8个整数,将这8个整数分别放在一个立方体的八//个顶点上,要求每个面上的四个数之和相等。//BY AS1138 2011-07-09#include using namespace std;void SwapInt(int &a,int &b);//交换函数v
2012-06-10 16:03:50
734
原创 (百例编程)61.1~9组成三个3位的平方数
题目:将1、2、3、4、5、6、7、8、9九个数字分成三组,每个数字只能用一次,即每组三个数不允许有重复数字,也不许同其它组的三个数字重复,要求每组中的三位数都组成一个平方数。//题目:将1、2、3、4、5、6、7、8、9九个数字分成三组,每个数字只能用一次,//即每组三个数不允许有重复数字,也不许同其它组的三个数字重复,要求每组中//的三位数都组成一个平方数。首先求出三位数中不包含0且是
2012-06-10 16:02:38
1307
原创 (百例编程)60.1~9分成1:2:3的三个3位数
题目:将1到9 这九个数字分成三个3位数,分求第一个3位数,正好是第二个3位数的二倍,是第三个3位数的三倍。问应当怎样分法?/*题目:将1到9 这九个数字分成三个3位数,分求第一个3位数,正好是第二个3位数的二倍,是第三个3位数的三倍。问应当怎样分法。*///by as1138 2011-04-28#include #include using namespace std;
2012-06-10 16:01:30
1419
原创 (百例编程)59.填表格
题目:将1、2、3、4、5和6 填入下表中,要使得每一列右边的数字比左边的数字大,//题目:将1、2、3、4、5和6 填入下表中,要使得每一列右边的数字比左边的数字大,//每一行下面的数字比上面的数字大。按此要求,可有几种填写方法?//BY AS1138 2011-06-16#include using namespace std;int main(void){ int i,j,
2012-06-10 16:00:29
959
原创 (百例编程)58.拉丁方阵
题目:构造 NXN 阶的拉丁方阵(2//题目:构造 NXN 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。//BY AS1138 2011-06-12#include using namespace std;int main(void){ int num = 0; cout<<"请输入拉丁方阵的阶数(范围2<=N<=9):"<<endl;
2012-06-10 15:57:55
1361
原创 (百例编程)57.谁家的孩子跑最慢
题目:张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。问获得最后一名的是谁家的孩子?//题目:张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,//规定不分年龄大小
2012-06-02 22:13:11
1739
1
原创 (百例编程)56.区分旅客国籍
题目:在一个旅馆中住着六个不同国籍的人,他们分别来自美国、德国、英国、法国、俄罗斯和意大利。他们的名字叫A、B、C、D、E和F。名字的顺序与上面的国籍不一定是相互对应的。现在已知:1)A美国人是医生。2)E和俄罗斯人是教师。3)C和德国人是技师。4)B和F曾经当过兵,而德国人从未参过军。5)法国人比A年龄大;意大利人比C年龄大。6)B同美国人下周要去西安旅行,而C同法国人下
2012-06-02 22:12:13
1210
原创 (百例编程)55.哪个大夫哪天值班
题目:医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:A大夫比C大夫晚一天值班;D大夫比E大夫晚二天值班;B大夫比G大夫早三天值班;F大夫的值班日在B和C大夫的中间,且是星期四;请确定每天究竟是哪位大夫值班?/*题目:医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:
2012-06-02 22:11:25
2990
1
原创 (百例编程)54.谜语博士的难题(2)
题目:两面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面。博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。博士问中间的人:“你是什么族的?”,中间的人回答:
2012-06-02 22:10:34
1015
原创 (百例编程)53.谜语博士的难题(1)
题目:诚实族和说谎族是来自两个荒岛的不同民族,诚实族的人永远说真话,而说谎族的人永远说假话。迷语博士是个聪明的人,他要来判断所遇到的人是来自哪个民族的。迷语博士遇到三个人,知道他们可能是来自诚实族或说谎族的。为了调查这三个人是什么族的,博士分别问了他们的问题,这是他们的对话:问第一个人:“你们是什么族?”,答:“我们之中有两个来自诚实族。”第二个人说:“不要胡说,我们三个人中只有一个是诚实
2012-06-02 22:09:34
867
原创 (百例编程)52.黑与白
题目:有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。”B说:“我看见其它四人额头上帖的都是黑纸。”C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。”D说:“我看见四人额头上帖的都是白纸。”E什么也没说。现在已知额头上帖黑纸的人
2012-06-02 22:08:38
4657
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人