
蓝桥杯
原来你zzai
这个作者很懒,什么都没留下…
展开
-
基础练习 阶乘计算
/*问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输入...原创 2018-06-03 17:56:02 · 454 阅读 · 0 评论 -
基础练习 矩形面积交
/*问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。样例输入2 2 4 41 1 3 3样例输出1...原创 2018-06-03 17:56:47 · 129 阅读 · 0 评论 -
基础练习 矩阵乘法
/*问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,表示A的M次幂所对应的...原创 2018-06-03 17:58:08 · 220 阅读 · 0 评论 -
基础练习 闰年判断
/*问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不...原创 2018-06-03 17:59:03 · 237 阅读 · 2 评论 -
基础练习 十进制转十六进制
/*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有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在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个非...原创 2018-06-03 18:00:12 · 180 阅读 · 0 评论 -
基础练习 十六进制转八进制
/*问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不...原创 2018-06-03 18:01:05 · 116 阅读 · 0 评论 -
基础练习 十六进制转十进制
/*问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535*/ #include <stdio.h>long long q_zhi(char *);int main(void){ char zf[10]; gets(zf)...原创 2018-06-03 18:01:39 · 108 阅读 · 0 评论 -
基础练习 数的读法
/*问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对, 它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉...原创 2018-06-03 18:03:27 · 1038 阅读 · 0 评论 -
基础练习 数列特征
/*问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000。 */ #include...原创 2018-06-03 18:04:16 · 133 阅读 · 0 评论 -
基础练习 数列排序
/*问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9*/ #include <stdio.h>void shuru(int ...原创 2018-06-03 18:05:24 · 189 阅读 · 0 评论 -
基础练习 01字串
/*问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>*/ #include <stdio.h>...原创 2018-05-31 10:54:23 · 260 阅读 · 0 评论 -
基础练习 2n皇后问题
/*基础练习 2n皇后问题问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可...原创 2018-05-31 10:56:57 · 322 阅读 · 0 评论 -
基础练习 字母图形
/*问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABC...原创 2018-05-31 11:00:12 · 145 阅读 · 0 评论 -
基础练习 字符串对比
/*问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不...原创 2018-05-31 11:01:21 · 123 阅读 · 0 评论 -
基础练习 杨辉三角形
/*问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不...原创 2018-05-31 11:02:25 · 231 阅读 · 0 评论 -
基础练习 芯片测试
/* 问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片 是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与 被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。 输入格式 输入数据第一行为一个整数n,表示芯片个数。 第...原创 2018-05-31 11:03:16 · 462 阅读 · 0 评论 -
基础练习 完美的代价
/*基础练习 完美的代价问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)输入格式...原创 2018-06-07 10:03:51 · 321 阅读 · 0 评论 -
基础练习 特殊回文数
/*问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=n<=54。*/ #include &l...原创 2018-06-07 10:07:50 · 175 阅读 · 0 评论 -
基础练习 特殊的数字
/*问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。*/ #include <stdio.h>int q_lfh( int );int main(void) { int i; for(i=100; i&l...原创 2018-06-07 10:09:31 · 123 阅读 · 0 评论 -
基础练习 时间转换
/*? 问题描述 给定一个以秒为单位的时间t,要求用"<H>:<M>:<S>"的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它们都是整数且没有前导的"0"。例如,若t=0,则应输出是"0:0:0";若t=3661,则输出"1:1:1"原创 2018-06-07 10:15:25 · 564 阅读 · 0 评论 -
历届试题 小计算器
/*问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余 3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36) 4. 输出指令:'EQUAL',以当前进制输...原创 2018-06-07 10:17:51 · 994 阅读 · 0 评论 -
历届试题 合根植物
/*问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。 如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n<10...原创 2018-06-07 10:20:01 · 220 阅读 · 0 评论 -
历届试题 小数第n位
/*问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式 一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)输出格式 一行3位数字,表示:a除...原创 2018-06-07 10:21:13 · 911 阅读 · 2 评论 -
历届试题 九宫幻方
/*问题描述 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中”,通过这样的一句口诀就能够非常完美的构造出一个九宫格来。 4 9 2 3 5 7 8 1...原创 2018-06-07 10:58:59 · 599 阅读 · 0 评论 -
历届试题 Excel地址
/*问题描述 Excel单元格的地址表示很有趣,它使用字母来表示列号。 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, .... 当然Excel的最大列号是有限度的,所以转换起来不难。 如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢? 本题目即是要求对输入的数字, 输出其对应的Exc...原创 2018-06-07 10:59:49 · 369 阅读 · 0 评论 -
基础练习 FJ的字符串
/* 基础练习 FJ的字符串 问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗? 输入格式 仅有一个数:N ≤ 26。 输出格式 请输出相应的字符串AN,以一个换行符结束。输出...原创 2018-06-01 18:50:14 · 200 阅读 · 0 评论 -
基础练习 Huffuman树
/*基础练习 Huffuman树 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复...原创 2018-06-01 18:51:27 · 156 阅读 · 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+1 FJ想让奶牛们计算Sn的值,请你帮助FJ...原创 2018-06-01 18:52:17 · 1737 阅读 · 0 评论 -
基础练习 报时助手
/* 问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three o'clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: ...原创 2018-06-01 18:53:44 · 114 阅读 · 0 评论 -
基础练习 查找整数
/*问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例输出2数据规模与约定1 <= n <= 100...原创 2018-06-01 18:54:20 · 246 阅读 · 0 评论 -
基础练习 分解质因数
/*问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a&l...原创 2018-06-01 18:56:05 · 174 阅读 · 0 评论 -
基础练习 高精度加法
/*问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十...原创 2018-06-01 18:56:47 · 191 阅读 · 0 评论 -
基础练习 龟兔赛跑预测
/*问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现, 所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。 于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣, 于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰, 于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息...原创 2018-06-01 18:57:32 · 2722 阅读 · 1 评论 -
基础练习 回文数
/*问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。*/ #include <stdio.h> int qiu_nxs(int);void shuchu(int);int main(void){ int i; for(i=1000;i<10000;i++)...原创 2018-06-01 19:01:02 · 605 阅读 · 0 评论 -
基础练习 回形取数
/*问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 31 2 34 5 67 8 9样例输出...原创 2018-06-01 19:04:23 · 402 阅读 · 0 评论 -
算法训练 2的次幂表示
/*问题描述任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0现在约定幂次用括号来表示,即a^b表示为a(b)此时,137可表示为:2(7)+2(3)+2(0)进一步:7=2^2+2+2^0 (2^1用2表示)3=2+2^0所以最后137可表示为:...原创 2018-07-29 14:48:20 · 239 阅读 · 0 评论 -
算法训练 5-1最小公倍数
/*问题描述编写一函数lcm,求两个正整数的最小公倍数。样例输入一个满足题目要求的输入范例。例:3 5样例输出与上面的样例输入对应的输出。例:数据规模和约定输入数据中每一个数的范围。例:两个数都小于65536。*/#include <stdio.h>int qiu_zdgys(int ,int );int main(void){ int n...原创 2018-07-29 14:49:41 · 225 阅读 · 0 评论 -
算法训练 6-1 递归求二项式系数值
/*问题描述样例输入一个满足题目要求的输入范例。3 10样例输出与上面的样例输入对应的输出。数据规模和约定输入数据中每一个数的范围。例:结果在int表示时不会溢出。*/#include<stdio.h>int ditui( int , int );int main(void ){ int n , m ; scanf("%d%d", &n , ...原创 2018-07-29 14:51:26 · 206 阅读 · 0 评论 -
算法训练 JAM计数法
/*问题描述Jam是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称为Jam数字。在Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam还指定使用字母的范围,例如,...原创 2018-07-29 14:53:02 · 490 阅读 · 0 评论 -
算法训练 Hankson的趣味题
/*问题描述Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现 在,刚刚放学回家的Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1 和c2 的最大公约数和最小公倍数。现 在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公 倍数”之类问题的“逆问题”,这个问题是这...原创 2018-07-29 14:53:57 · 1325 阅读 · 0 评论