问题描述 道德经曰:一生二,二生三,三生万物. 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和.例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495. 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))-.例如,从33开始的递增序列为: 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, - 我们把n叫做d(n)的…
算法训练 麦森数 时间限制:1.0s 内存限制:256.0MB 问题描述 形如2P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2P-1不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=3021377,它有909526位.麦森数有许多重要应用,它与完全数密切相关. 任务:从文件中输入P(1000<P<3100000),计算2P-1的位数和最后500位数字(用十进制高精度数表示) 输入格式 文件中只包含一个整数P(1000<P<…
问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. 样例输出 与上面的样例输入对应的输出. 例: 数据规模和约定 1-9999 public class 求完数 { public static void main(String[] args) { for (int i = 1; i <= 9999; i++) { int sum = 0; for (int j = 1; j < i; j++) { if (i % j == 0) {…
问题描述 设有NN的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N).在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0). 此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大. 输入格式 输入的第一行为一个整数N(表示NN的方格图),接下来的每行有三个整数,前两个表示位置,第三个数为该位置上所放的数.一行单独的0表示输入结束.…
import java.util.Scanner; public class 回文数 { static int time = 0; public static int change(String str) {//十六进制转换为十进制 return Integer.valueOf(str,16); } public static String changeTo(int a) {//十进制转换为十六进制 return Integer.toHexString(a); } public static S…
问题描述 这里写问题描述. 打印出1-1000所有11和17的公倍数. 样例输入 一个满足题目要求的输入范例. 样例输出 与上面的样例输入对应的输出. 这道题其实没有什么可写的,但是为了让读者更方便的看蓝桥杯VIP的题,只能写一下,可以通过我主页的专栏,来更方便的看蓝琼安备VIP的题 public class 找公倍数 { public static void main(String[] args) { for(int i=1;i<=1000;i++) { if(i%11==0&&i…
试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2个正整数,表示图中连通的两点. 输出格式 输出1行,与1连通的点的集合,并按升序排列输出. 样例输入 6 3 1 2 2 3 3 4 样例输出 1 2 3 4 数据规模和约定 n<=10000,m<=100000 package 蓝桥杯官网; import java.util.Scanner; p…
试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格式. 例:输出1行,包含一个整数,表示矩阵中所有元素的和. 样例输入 一个满足题目要求的输入范例. 3 2 1 2 2 3 样例输出 与上面的样例输入对应的输出. 例: 2 数据规模和约定 数据不会很大 输入数据满足M=N-1 package 蓝桥杯官网; import java.util.Arra…
算法训练 星际交流 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法.这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回 答. 火星人用一种非常简单的方式来表示数字--掰手指.火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为1,…
大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一 条笔直的高速铁路,第I个城市中高速铁路了的单位里程价格为Ti,任意两个不同城市的机场之间均有航线,所有航线单位里程的价格均为t. 那么Car应如何安排到城市B的路…
试题 算法训练 最大质因数 问题描述 给出N个数字,求出有最大的最大质因数的那个数 输入格式 第一行:一个整数N. 接下来的N行,每行一个整数A_i,表示给出的那N个数字. 输出格式 第一行:一个整数,拥有最大的最大质因数的那个数. 样例输入 4 36 38 40 42 样例输出 38 数据规模和约定 60%的数据满足:N<=100 100%的数据满足:N<=2500,A_i<=20000 PS: 可能逻辑比较复杂,或者是我想到复杂,暴力大法(●ˇ∀ˇ●) import java.uti…
试题 算法训练 与1连通的点的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 没有问题描述. 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2个正整数,表示图中连通的两点. 输出格式 输出1个数,与1连通的点的个数. 样例输入 6 3 1 2 2 3 3 4 样例输出 4 数据规模和约定 n<=10000,m<=100000. import java.util.Scanner; public class Main {…
试题 算法训练 非递归 问题描述 当x>1时,Hermite多项式的定义见第二版教材125页.用户输入x和n,试编写"非递归"函数,输出对应的Hermite多项式的值.其中x为float型,n为int型. 输入格式 x n 输出格式 对应多项式的值 样例输入 一个满足题目要求的输入范例. 例: 3.6 4 样例输出 与上面的样例输入对应的输出. 例: 2077.31 数据规模和约定 x>1 n为自然数 PS: 百度搜索那个Hermite多项式的原理 import java.…
试题 算法训练 步与血 问题描述 有n*n的方格,其中有m个障碍,第i个障碍会消耗你p[i]点血.初始你有C点血,你需要从(1,1)到(n,n),并保证血量大于0,求最小步数. 输入格式 第一行3个整数n,m,c,表示棋盘大小.障碍数量和你的血量 接下来m行,每行描述一个障碍.包含三个整数x y p,分别表示障碍在第x行第y列,消耗血量为p. 输出格式 如果可以到输出步数,如果不可以,输出"No". 样例输入 10 10 10 2 8 35 1 10 25 9 9 63 5 6 46…
试题 算法训练 -2进制 问题描述 给出1个十进制整数N,计算出它的-2进制表示. 输入格式 第一行:一个整数N,表示要转换的十进制数. 输出格式 第一行:N的-2进制表示. 样例输入 -13 样例输出 110111 数据规模和约定 100%的数据满足:|n|<=2000000000. 提示 负二进制: 有这样一个数100110,它是-2进制的数,将它转换成10进制数的方法是1*(-2)5 + 0*(-2)4 + 0*(-2)3 + 1*(-2)2 + 1*(-2)1 + 0*(-2)0 等于-…
题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前 面的字母小于排在它后面的字母.我们把这样的"数字"称为Jam数字.在Jam数字中,每个字母互不相同,而且从左到右是严格递增的.每次,Jam还指定 使用字母的范围,例如,从2到10,表示只能使用{b,c,d,e,f,g,h,i,j}这些字母.如果再规定位数为5,那么…
算法训练 学做菜 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D. 涛涛现在会做的菜有五种: 1. 西红柿炒鸡蛋 原料:AABDD 2. 酸辣鸡丁 原料:ABCD 3. 宫保鸡丁 原料:CCD 4. 水煮西红柿 原料:BBB 5. 怪味蛋 原料:AD 这天早上,开开去早市给涛涛买了一些原料回来.由于事先没有什么计划,涛涛决定,对于现存的原料,每…
算法训练 9-7链表数据求和操作 时间限制:1.0s 内存限制:512.0MB 读入10个复数,建立对应链表,然后求所有复数的和. 样例输入 1 2 1 3 4 5 2 3 3 1 2 1 4 2 2 2 3 3 1 1 样例输出 23+23i import java.util.Scanner; public class 链表数据求和操作 { public static void main(String[] args) { Scanner sc =new Scanner(System.in);…
算法训练 4-1打印下述图形 时间限制:1.0s 内存限制:256.0MB 问题描述 使用循环结构打印下述图形,打印行数n由用户输入.打印空格时使用"%s"格式,向printf函数传递只包含一个或多个空格的字符串" ",下同. 样例输入 一个满足题目要求的输入范例. 例: 5 样例输出 与上面的样例输入对应的输出. 例: import java.util.Scanner; public class 打印下述图形 { public static void main(S…
试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数.为了保证在尽量短的时 间内发完所有纪念品,乐乐希望分组的数目最少. 你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目. 输入格式 输入包含n+2行: 第1行包…
算法训练 筛选号码 Description 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. 问最后留下的是原来第几号的那位. 举个例子,8个人围成一圈: 1 2 3 4 5 6 7 8 第1次报数之后,3退出,剩下: 1 2 4 5 6 7 8 (现在从4开始报数) 第2次报数之后,6退出,剩下: 1 2 4 5 7 8 (现在从7开始报数) 第3次报数之后,1退出,剩下: 2 4 5…
算法训练 暗恋 时间限制:1.0s 内存限制:256.0MB 问题描述 同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事.暗恋,是他唯一能做的事.他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了.操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇.还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色.我们定义他和她之间的"…
** 算法训练 数位分离** 问题描述 编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示. 输入格式:输入只有一行,即一个1000以内的正整数. 输出格式:输出只有一行,即该整数的每一位数字,之间用空格隔开. 输入输出样例 样例输入 769 样例输出 7 6 9 import java.util.Scanner; public class 数位分离 { public static void fun(int n) { if(n>0&&n&…
算法训练 薪水计算 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 编写一个程序,计算员工的周薪.薪水的计算是以小时为单位,如果在一周的时间内,员工工作的时间不超过40 个小时,那么他/她的总收入等于工作时间乘以每小时的薪水.如果员工工作的时间在40 到50 个小时之间,那么对于前40 个小时,仍按常规方法计算:而对于剩余的超额部分,每小时的薪水按1.5 倍计算.如果员工工作的时间超过了50 个小时,那么对于前40 个小时,仍按常规方法计算:对于40-50 个小时之间的部分,每…
蓝桥杯–阿尔法乘积 问题描述 计算一个整数的阿尔法乘积.对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身:否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积.例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的: 4018224312 → 418224312 → 3072 → 372 → 42 → 4*2 → 8 编写一个程序,输入一个正整数(该整数不会超过6,000,000),输出它的阿尔法乘积…
算法训练 统计字符次数 时间限制:1.0s 内存限制:512.0MB 输入一个字符串(长度在100以内),统计其中数字字符出现的次数. 样例输入 Ab100cd200 样例输出 6 import java.util.Scanner; public class 统计字符次数 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner ci=new Scanner(System.in);…
试题 算法训练 阶乘末尾 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定n和len,输出n!末尾len位. 输入格式 一行两个正整数n和len. 输出格式 一行一个字符串,表示答案.长度不足用前置零补全. 样例输入 6 5 样例输出 00720 数据规模和约定 n<=30, len<=10. package 第十次模拟; import java.math.BigInteger; import java.util.Scanner; public class 阶乘末尾 {…
试题 算法训练 sign函数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定实数x,输出sign(x)的值. sign(x)是符号函数,如果x>0,则返回1:如果x=0,则返回0:如果x<0,则返回-1. 输入格式 一行一个实数x. 输出格式 一行一个整数表示答案. 样例输入 -0.0001 样例输出 -1 数据规模和约定 |x|<=10000,输入数据精度最多达到4位小数. package 第十次模拟; import java.util.Scanner; pub…
试题 算法训练 P0501 资源限制 时间限制:1.0s 内存限制:256.0MB 输入两个无符号整数x, y, 用位操作实现无符号整数的乘法运算.不用考虑整数的溢出. 输入: 235 657 输出: 154395 package 第十次模拟; import java.util.Scanner; public class P0501 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); in…
试题 算法训练 P0502 资源限制 时间限制:1.0s 内存限制:256.0MB 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出现的次数相同,即并列第一,那么只打印较小的那个值.例如,假设用户输入的是"100 150 150 200 250",则输出为150. 输入: 6 100 150 150 200 200 250 输出: 15…