随笔分类 - 算法:水题
摘要:假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这两种初始条件下,60分钟后Y的数目。 题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只 Y 就是最终导致 Y 种群灭绝的最后一根稻草! 水题,数学题。 以半分钟为一次循环,循环120次,就是60分钟。加上各种判断,最后y 2 using na...
阅读全文
摘要:开平方如果没有计算器,我们如何求2的平方根?可以先猜测一个数,比如1.5,然后用2除以这个数字。如果我们猜对了,则除法的结果必然与我们猜测的数字相同。我们猜测的越准确,除法的结果与猜测的数字就越接近。根据这个原理,只要我们每次取猜测数和试除反馈数的中间值作为新的猜测数,肯定更接近答案!这种计算方法叫做“迭代法”。下面的代码模拟了如何用手工的方法求2的平方根的过程。请填写缺少的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。1 double n = 2;2 double a = 0;3 double b = n;4 ...
阅读全文
摘要:口袋中有5只红球,4只白球。随机从口袋中取出3个球,则取出1个红球2个白球的概率是多大?类似这样的数学问题,在计算的时候往往十分复杂。但如果通过计算机模拟这个过程,比如进行100000次取球模拟,统计一下指定情况出现的次数对计算机来说是方便且快速的。同样,这个原理也适用于像天气预报这样复杂的系统过程。以下的程序就是用于解决取球概率问题的。仔细阅读代码,补全空白的部分。 1 srand( (unsigned)time( NULL ) ); 2 3 int n = 0; 4 for(int i=0; i 2 #include 3 #include 4 5 int m...
阅读全文
摘要:对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 转置后变为: 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但,如果是对该方阵顺时针旋转(不是转置),却是如下结果:13 9 5 114 10 6 215 11 7 316 12 8 4 下面的代码实现的功能就是要把一个方阵顺时针旋转。 1 void rotate(int* x, int rank) 2 { 3 int* y = (int*)malloc...
阅读全文
摘要:R(N)Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1815Accepted Submission(s): 929Problem DescriptionWe know that some positive integer x can be expressed as x=A^2+B^2(A,B are integers). Take x=10 for example,10=(-3)^2+1^2.We define R(N) (N is pos
阅读全文
摘要:Wooden SticksTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10423Accepted Submission(s): 4287Problem DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodw
阅读全文
摘要:Eddy's research ITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5793Accepted Submission(s): 3459Problem DescriptionEddy's interest is very extensive, recently he is interested in prime number. Eddy discover the all number owned can be divi
阅读全文
摘要:Just a NumbleTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2107Accepted Submission(s): 987Problem DescriptionNow give you two integers n m, you just tell me the m-th number after radix point in 1/n,for example n=4,the first numble after point is
阅读全文
摘要:18岁生日Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16784Accepted Submission(s): 5317Problem DescriptionGardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。Input一个数T,后面T行每行有
阅读全文
摘要:N皇后问题Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6905Accepted Submission(s): 3128Problem Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Outpu
阅读全文
摘要:1058: 三角形面积Time Limit:1 SecMemory Limit:128 MBSubmit:190Solved:128[Submit][Status][Web Board]Description三角形面积=SQRT(S*(S-a)*(S-b)*(S-c)) 其中S=(a+b+c)/2,a、b、c为三角形的三边。定义两个带参的宏,一个用来求area,另一个宏用来求S。 写程序,在程序中用带实参的宏名来求面积area。Inputa b c三角形的三条边,可以是小数。Output三角形面积,保留3位小数Sample Input3 4 5Sample Output6.000HINT主函数
阅读全文
摘要:1057: 输入两个整数,求他们相除的余数Time Limit:1 SecMemory Limit:128 MBSubmit:177Solved:136[Submit][Status][Web Board]Description输入两个整数,求他们相除的余数。用带参的宏或模板函数来实现,编程序。Input两个短整型数a,b两个长整型数c,dOutputa/b的余数c/d的余数Sample Input10 9100000000 999999Sample Output1100HINT主函数已给定如下,提交时不需要包含,会自动添加到程序尾部/* C++代码 */int main(){ short .
阅读全文
摘要:1052: 写一函数,将两个字符串连接Time Limit:1 SecMemory Limit:128 MBSubmit:343Solved:210[Submit][Status][Web Board]Description写一函数,将两个字符串连接Input两行字符串Output链接后的字符串Sample Input123abcSample Output123abcHINTSourcefreeproblemset 水题。 做这道题正好练练指针。 题意是用一个函数连接两个字符串。问题在于函数的返回值的处理,如果我想获取一个指向字符数组的指针怎么做?如果我只想获取一个指向字符的指针呢?这两...
阅读全文
摘要:数列有序!Time Limit : 2000/1000ms (Java/Other)Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 2Accepted Submission(s) : 1Font:Times New Roman|Verdana|GeorgiaFont Size:←→Problem Description有n(n 2 using namespace std; 3 int main() 4 { 5 int n,m; 6 int a[111]; 7 while(cin>>n>>m){
阅读全文
摘要:查找最大元素Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25436Accepted Submission(s): 14000Problem Description对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。Input输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。Output对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存
阅读全文
摘要:历届试题 错误票据 时间限制:1.0s 内存限制:256.0MB问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N 4 int main() 5 { 6 int a[10001]={0},n; 7 scanf("%d",&n); 8 while(getchar()!=
阅读全文
摘要:历届试题 打印十字图 时间限制:1.0s 内存限制:256.0MB问题描述小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$$.$.$$$.$.$$$.$.$$.$...$...$...$.$$.$$$.$$$$$.$$$.$$...$.....
阅读全文
摘要:历届试题 核桃的数量 时间限制:1.0s 内存限制:256.0MB问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c 2 using namespace std; 3 int gcd(int n,int m) 4 { 5 if(n>a>>b>>c;29 cout&
阅读全文
摘要:算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于30%的数据,n,m 2 using namespace std; 3 int m.
阅读全文
摘要:基础练习 杨辉三角形 时间限制:1.0s 内存限制:256.0MB问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输出11 11 2 11 3 3 1数据规模与约定1 2 using namespace std; 3 in...
阅读全文

浙公网安备 33010602011771号