C/C++
Gabanon
这个作者很懒,什么都没留下…
展开
-
芯片测试
问题描述:有 n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。每个芯片都能用来测试其他芯片。 用好芯片测试其他芯片时, 能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关) 。给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式:输入数据第一行为一个整数 n,表示芯片个数。第二行到第 n+1原创 2015-04-01 19:34:50 · 1850 阅读 · 0 评论 -
数的读法
问题描述:Tom 教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从 0 开始编号,到几百万,几千万,甚至上亿。比如说,在对学生讲解第 1234567009 号位置上的碱基时,光看着数字是很难准确的念出来的。所以,他迫切地需要一个系统,然后当他输入 12 3456 7009 时,会给出相应的念法:十二亿三千四百五十六万七千零九用汉原创 2015-04-01 19:24:31 · 764 阅读 · 0 评论 -
高精度加法
问题描述:输入两个整数 a 和 b,输出这两个整数的和。a 和 b 都不超过 100 位。算法描述由于 a 和 b 都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组 A,A[0]用于存储 a 的个位,A[1]用于存储 a 的十位,依此类推。同样可以用一个数组 B来存储 b。计算 c = a + b 的时候,首先将 A[0]原创 2015-04-01 20:01:43 · 225 阅读 · 0 评论 -
蚂蚁感冒
标题:蚂蚁感冒 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】原创 2015-04-10 21:18:20 · 451 阅读 · 0 评论 -
六角填数
标题:六角填数 如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。//*********************六角填数 #include #include #include #include原创 2015-04-10 13:35:57 · 492 阅读 · 0 评论 -
在C/C++计算机语言中动态分配二维数组
如何在C/C++中动态分配二维数组在C/C++中动态分配二维数组可以先申请一维的指针数组,然后该数组中的每个指针再申请数组,这样就相当于二维数组了,但是这种方法会导致每行可能不相邻,从而访问效率比较低。如何申请连续的二维数组了?本文将分别三个方面讲解:一.动态申请列大小固定的二维数组二.C语言中动态申请连续的二维数组三.C++语言中动态申请连续的二维数组 一.动态申请列大小转载 2015-04-07 21:09:00 · 965 阅读 · 0 评论 -
矩阵翻硬币
题目: 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上转载 2015-04-08 13:31:47 · 481 阅读 · 0 评论 -
马虎的算式
标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这原创 2015-04-08 19:19:46 · 267 阅读 · 0 评论 -
STL/C++标准模板库学习总结
STL/C++标准模板库学习总结STL就是Standard Template Library,标准模板库。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee原创 2015-04-09 16:18:30 · 712 阅读 · 0 评论 -
啤酒和饮料
标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。//*********************啤酒和饮料#include原创 2015-04-09 20:56:31 · 725 阅读 · 0 评论 -
连号区间数
标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了原创 2015-04-09 20:31:30 · 634 阅读 · 0 评论 -
STL/next_permutation()和prev_permutation()函数
next_permutation()和prev_permutation()函数的使用:next_permutation()和prev_permutation()函数的头文件添加为:#include 算法:首先,从最为段开始往前寻找两个相邻的元素,令第一个元素索引为 endi 第二个元素索引为 endii ,且满足 array[endi]解释:一、如果数原创 2015-04-09 16:24:43 · 375 阅读 · 0 评论 -
第39级台阶
题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优原创 2015-04-08 20:37:26 · 1186 阅读 · 0 评论 -
李白打酒
标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaab原创 2015-04-09 22:20:41 · 504 阅读 · 0 评论 -
奇怪的分式
标题:奇怪的分式 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例原创 2015-04-09 22:38:11 · 271 阅读 · 0 评论 -
MFC中UpdateData函数的使用功能
MFC中UpdateData函数的使用 当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。 用处: 主要控制ddx_data原创 2015-05-09 10:52:04 · 1449 阅读 · 0 评论 -
MFC对话框退出函数
对话框退出调用什么函数主要看你按哪个按钮退出的了,一般就三种情况:(1)点击IDOK按钮退出:先调用OnOK(),然后是OnDestory(),最后是PostNcDestroy() (2)点击IDCANCEL按钮退出:先调用OnCancel(),然后是OnDestory(),最后是PostNcDestroy() (3)点击右上角的关闭按钮退出:先OnClose(),然后是OnCance原创 2015-05-08 16:11:31 · 3326 阅读 · 0 评论 -
MFC中的模态对话框和非模态对话框
MFC中模态对话框和非模态对话框的区别:与模态对话框不同,非模态对话框不垄断用户的输入,用户打开非模态对话框后,仍然可以与其它界面进行交互。 非模态对话框的设计与模态对话框基本类似,也包括设计对话框模板和设计CDialog类的派生类两部分。但是,在对话框的创建和删除过程中,非模态对话框与模态对话框相比有下列不同之处: 非模态对话框的模板必须具有Visible原创 2015-05-10 12:00:52 · 488 阅读 · 0 评论 -
完美的代价
问题描述:回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。交换的定义是:交换两个相邻的字符,例如 mamad第一次交换 ad : mamda第二次交换 md : madma第三次交换 ma : madam (回文!完美!)输入格式:第一行是一个整数原创 2015-04-01 19:21:40 · 290 阅读 · 0 评论 -
2n皇后问题
问题描述:给定一个 n*n 的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入 n 个黑皇后和n 个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n 小于等于 8。输入格式:输入的第一行为一个整数 n,表示棋盘的大小。接下来 n 行,每行 n 个 0 或 1 的整数,如果一个整数为 1,原创 2015-04-01 18:15:37 · 410 阅读 · 0 评论 -
单词个数统计
问题描述:编写一个程序,输入一个字符串(长度不超过 80) ,然后统计出该字符串当中包含有多少个单词。例如:字符串“this is a book”当中包含有 4 个单词。输入格式:输入一个字符串,由若干个单词组成,单词之间用一个空格隔开。输出格式:输出一个整数,即单词的个数。输入输出样例用户输入数据样例:this is a book系统输出数据如下:4/原创 2015-04-01 20:00:38 · 1101 阅读 · 0 评论 -
K好数
问题描述:如果一个自然数 N 的 K 进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是 K 好数。求 L 位 K 进制数中 K 好数的数目。例如 K = 4,L = 2 的时候,所有 K 好数为 11、13、20、22、30、31、33 共 7 个。由于这个数目很大,请你输出它对 1000000007 取模后的值。输入格式:输入包含两个正整数,K 和 L。输出格式:原创 2015-04-01 19:41:59 · 281 阅读 · 0 评论 -
进制转换
问题描述:我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为 1*102+2*101+3*100这样的形式。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个正整数R或一个负整数-R都可以被原创 2015-04-01 19:43:29 · 335 阅读 · 0 评论 -
Sine之舞
问题描述:最近 FJ 为他的奶牛们开设了数学分析课,FJ 知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine 之舞”的游戏,寓教于乐,提高奶牛们的计算能力。不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...), Sn=(...(A1+n)A2+n-1)A3+...+2)An+1FJ 想让奶牛们计算 Sn 的值,请你原创 2015-04-01 19:46:02 · 349 阅读 · 0 评论 -
摆动序列
问题描述:如果一个序列满足下面的性质,我们就将它称为摆动序列:1. 序列中的所有数都是不大于 k 的正整数;2. 序列中至少有两个数。3. 序列中的数两两不相等;4. 如果第 i – 1 个数比第 i – 2 个数大, 则第 i 个数比第 i – 2 个数小; 如果第 i – 1 个数比第 i – 2 个数小,则第 i 个数比第 i – 2 个数大。比如,当 k = 3 时原创 2015-04-01 19:48:08 · 651 阅读 · 0 评论 -
安慰奶牛
问题描述:Farmer John 变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接 N个牧场,牧场被连续地编号为 1 到 N。每一个牧场都是一个奶牛的家。FJ 计划除去 P 条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的 N-1 条道路。第j 条双向道路连接了牧场 Sj 和 Ej(1 有两个牧场是被一条以上的道路所连接。奶原创 2015-04-01 19:51:13 · 291 阅读 · 0 评论 -
乘积最大
问题描述:今年是国际数学联盟确定的“2000——世界数学年” ,又恰逢我国著名数学家华罗庚先生诞辰 90 周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友 XZ 也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为 N 的数字串,要求选手使用 K 个乘号将它分成 K+1 个部分,找出一种分法,使得这 K+1 个部原创 2015-04-01 19:53:30 · 349 阅读 · 0 评论 -
集合的全排列问题
对集合中的所有元素进行全排列//*************************集合的全排列问题 #include //#include //#include //#include using namespace std;//产生元素k~m的全排列,作为前k-1个元素的后缀 void Perm(int list[],int k,int m){ //构成了一次全排列原创 2015-04-01 20:06:50 · 300 阅读 · 0 评论 -
阶乘计算
问题描述:输入一个正整数 n,输出 n!的值。其中 n!=1*2*3*„*n。算法描述n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组 A 来表示一个大整数 a,A[0]表示 a 的个位,A[1]表示 a 的十位,依次类推。将 a 乘以一个整数 k 变为将数组 A 的每一个元素都乘以 k,请注意处理相应的进位。首先将 a 设为 1,然后乘原创 2015-04-01 20:09:31 · 374 阅读 · 0 评论 -
十进制转十六进制
问 题 描 述 : 十 六 进 制 数 是 在 程 序 设 计 时 经 常 要 使 用 到 的 一 种 整 数 的 表 示 方 式 。 它 有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 共 16 个符号,分别表示十进制数的 0 15。十六进制的计数方法是满16 进 1,所以十进制数 16 在十六进制中是 10,而十进制的 17 在十六进制中是 11,以此类推,十进制的 30 在原创 2015-03-31 21:08:26 · 582 阅读 · 0 评论 -
十六进制转十进制
问题描述:从键盘输入一个不超过 8 位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的 10~15 分别用大写的英文字母 A、B、C、D、E、F 表示。样例输入FFFF样例输出65535//*********************十六进制转十进制 #include #include #include #include #include原创 2015-03-31 22:40:58 · 240 阅读 · 0 评论 -
分解质因数
问题描述:求出区间[a,b]中所有整数的质因数分解。输入格式:输入两个整数 a,b。输出格式:每行输出一个数的分解,形如 k=a1*a2*a3...(a1样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示:先筛出所有素数,然后再分解。数据规模和约定:2//*****原创 2015-04-01 15:33:03 · 326 阅读 · 0 评论 -
闰年判断
问题描述:给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是 4 的倍数而不是 100 的倍数;2. 年份是 400 的倍数。其他的年份都不是闰年。输入格式:输入包含一个整数 y,表示当前的年份。输出格式:输出一行,如果给定的年份是闰年,则输出 yes,否则输出 no。说明:当试题指定你输出一个字符串作为结果(比如本题的 yes 或者 no,你需要原创 2015-04-01 15:07:46 · 327 阅读 · 0 评论 -
矩阵乘幂
问题描述:给定一个 N 阶矩阵 A,输出 A 的 M 次幂(M 是非负整数) ,例如:A =1 23 4A 的 2 次幂7 1015 22输入格式:第一行是一个正整数 N、M(1接下来 N 行,每行 N 个绝对值不超过 10 的非负整数,描述矩阵 A 的值输出格式:输出共 N 行,每行 N 个整数,表示 A 的 M 次幂所对应的矩阵。相邻的数之间用一个空格隔原创 2015-04-01 18:01:07 · 1039 阅读 · 0 评论 -
十六进制转八进制
问题描述:给定 n 个十六进制正整数,输出它们对应的八进制数。输入格式:输入的第一行为一个正整数 n (1<=n<=10) 。接下来 n 行,每行一个由 0~9、大写字母A~F 组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过 100000。输出格式:输出 n 行,每行为输入对应的八进制正整数。注意:输入的十六进制数不会有前导 0,比如 012A。输出的八进制数也不能有前导 0。样例输入239123ABC样例输出714435274提示:先将十六进制数转换成某进制数,原创 2015-04-01 14:50:18 · 603 阅读 · 0 评论 -
求先序遍历与后序遍历
问题描述:给出一棵二叉树的中序与后序排列。求出它的先序排列。 (约定树结点用不同的大写字母表示,长度输入格式:两行,每行一个字符串,分别表示中序和后序排列输出格式:一个字符串,表示所求先序排列样例输入BADCBDCA样例输出ABCD//******************求后序遍历与后序遍历 #include #include using name原创 2015-04-01 19:30:20 · 291 阅读 · 0 评论 -
Hanoi问题
问题描述:如果将课本上的 Hanoi 塔问题稍做修改:仍然是给定 N 只盘子,3 根柱子,但是允许每次最多移动相邻的 M 只盘子(当然移动盘子的数目也可以小于 M),最少需要多少次?例如 N=5,M=2 时,可以分别将最小的 2 个盘子、中间的 2 个盘子以及最大的一个盘子分别看作一个整体,这样可以转变为 N=3,M=1 的情况,共需要移动 7 次。输入格式:输入数据仅有一行,包括原创 2015-04-01 19:50:11 · 522 阅读 · 0 评论 -
瓷砖铺放
问题描述:有一长度为 N(1数目不限。要将这个长度为 N 的地板铺满,一共有多少种不同的铺法?例如,长度为 4 的地面一共有如下 5 种铺法:4=1+1+1+14=2+1+14=1+2+14=1+1+24=2+2编程用递归的方法求解上述问题。输入格式:只有一个数 N,代表地板的长度输出格式:输出一个数,代表所有不同的瓷砖铺放方法的总数样例输入4样原创 2015-04-01 19:55:36 · 469 阅读 · 0 评论 -
MFC中OnTimer函数
关于OnTimer() OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。 为类添加VM_TIMER消息响应,会看到类中多了个OnTimer(UINT nIDEvent)。 然后用SetTimer(1,10,NULL)就行了。第一个参数是ID,第二个是间隔转载 2015-05-29 12:56:24 · 3662 阅读 · 0 评论