蓝桥杯

蓝桥杯――四数平方(2016JavaB第7题)

匿名 (未验证) 提交于 2019-12-02 21:52:03
四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 (^符号表示乘方的意思) 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对4个数排序: 0 <= a <= b <= c <= d 并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法 程序输入为一个正整数N (N<5000000) 要求输出4个非负整数,按从小到大排序,中间用空格分开 例如,输入: 5 则程序应该输出: 0 0 1 2 再例如,输入: 12 则程序应该输出: 0 2 2 2 再例如,输入: 773535 则程序应该输出: 1 1 267 838 资源约定: 峰值内存消耗(含虚拟机)< 256M CPU消耗< 3000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。 注意:主类的名字必须是:Main,否则按无效代码处理。 package bb; import java.util.Scanner; public class

Java蓝桥杯02――第二题集锦:生日蜡烛、星期一、方格计数、猴子分香蕉

匿名 (未验证) 提交于 2019-12-02 21:52:03
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 分析: 设过生日的岁数是[start, end],则end>start(end==start时,为236,不可能,排除) package bb; public class 生日蜡烛 { private static void 易理解版() { // 1.start for (int start = 1; start <= 100; start++) { // 2.end for (int end = start + 1; end <= 100; end++) { // 3.[start,end]求岁数之和 int sum = 0; for (int i = start; i <= end; i++) { sum += i; } // 4.满足条件则OK if (sum == 236) { System.out.println("start=" + start + ",end=" + end); } } } } private static void 效率改进版() { for (int start = 1;

Java蓝桥杯01――第一题集锦:堆煤球、购物单、哪天返回、第几天、分数

匿名 (未验证) 提交于 2019-12-02 21:52:03
有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 package bb; public class 堆煤球 { private static int _求第n层(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } return sum; } private static int _求第n层By递归(int n) { if (n == 1) { return 1; } return _求第n层By递归(n - 1) + n; } public static void main(String[] args) { int sumAll = 0; for (int j = 1; j <= 100; j++) { sumAll += _求第n层(j); } System.out.println(sumAll); sumAll = 0; for (int j = 1; j <= 100; j++) { sumAll += _求第n层By递归(j); } System.out

蓝桥杯:基础练习 查找整数

£可爱£侵袭症+ 提交于 2019-12-02 15:29:31
问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。 输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 样例输入 6 1 9 4 8 3 9 9 样例输出 2 数据规模与约定 1 <= n <= 1000。 解法: import java . util . Scanner ; public class Main { public static void main ( String [ ] args ) { Scanner sc = new Scanner ( System . in ) ; // 输入整数个数 int m = sc . nextInt ( ) ; // 初始化数组 int arr [ ] = new int [ m ] ; //输入全部整数值 for ( int i = 0 ; i < arr . length ; i ++ ) { arr [ i ] = sc . nextInt ( ) ; } // 输出要查找的整数值 int search = sc . nextInt ( ) ; // 定义一个标志 用于判断是否查询到 boolean flag =

蓝桥杯_核桃的数量

淺唱寂寞╮ 提交于 2019-12-02 14:50:37
问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛) 输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋核桃的数量。 样例输入1 2 4 5 样例输出1 20 样例输入2 3 1 1 样例输出2 3 代码: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a = in.nextInt(); int b = in.nextInt(); int c = in.nextInt(); int n = 0; int k = 0; for(int i = 2; i <= Math.min(a, b); i++) { if(a%i == 0&&b%i == 0) { k = a*b/i; } } if(k == 0) { k = a*b; } for(int j = 2;j <= Math

蓝桥杯_波动系数

旧时模样 提交于 2019-12-02 14:47:13
import java.util.Scanner; public class 波动数列 { private static int vu=0; private static int[] a; private static int[][] v=new int[1004][2]; private static int mac=0; public static void main(String[] args) { Scanner input = new Scanner(System.in); int n=input.nextInt(),s=input.nextInt(),c=input.nextInt(),b=input.nextInt(); a=new int[]{c,-b}; for (int i = 1; i <1000000; i++) { mac=i; dfs(i,1,n,s); } System.out.println(vu%100000007); } //mun是自增变量,count是匹配的位数,n是输入的位数,s是总和 private static void dfs(int mun, int count,int n, int s) { if(mac==s&&count==n) { vu++; return; } else if(count==n) { return;

第六届蓝桥杯省赛C/C++B组

ぃ、小莉子 提交于 2019-12-02 10:59:50
编程的大题因为没有办法在OJ上提交,不知道是否能过100%的数据,但是大致就是这个意思。 1.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 52488 #include<stdio.h> #include<string.h> int main() { int num=0; for(int i=10000; i<=99999; i++) { int x=i; while(x) { if(x%10==4) { num++; break; } x/=10; } } printf("%d\n",90000-num); return 0; } 2.星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd

2015第六届蓝桥杯JavaA组省赛真题详解

柔情痞子 提交于 2019-12-02 10:59:35
目录 第一题:熊怪吃核桃 第二题:星系炸弹 第三题:九数分三组 第四题:循环节长度 第五题:打印菱形 第六题:加法变乘法 第七题:牌型种数 第八题:移动距离 第九题:垒骰子 第十题:灾后重建 题解待更新 第一题:熊怪吃核桃 题目描述 森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,直接丢掉。 有一天,熊怪发现了1543个核桃,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。 请填写该数字(一个整数),不要填写任何多余的内容或说明文字。 第二题:星系炸弹 题目描述 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19 请严格按照格式书写。不能出现其它文字或符号。 第三题:九数分三组 题目描述 1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系: B = 2 * A C = 3 * A

2015第六届蓝桥杯JavaC组省赛真题详解

泄露秘密 提交于 2019-12-02 10:59:19
目录 第一题:隔行变色 第二题:立方尾不变 第三题:无穷分数 第四题:循环节长度 第五题:格子中输出 第六题:奇妙的数字 第七题:加法变乘法 第八题:移动距离 第九题:打印大X 第十题: 垒骰子 题解待更新 第一题:隔行变色 题目描述 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。 小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,.... 现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。 请你直接提交这个整数,千万不要填写任何多余的内容。 第二题:立方尾不变 题目描述 有些数字的立方的末尾正好是该数字本身。 比如:1,4,5,6,9,24,25,.... 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。 请提交该整数,不要填写任何多余的内容。 第三题:无穷分数 题目描述 无穷的分数,有时会趋向于固定的数字。 请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。 请填写该浮点数,不能填写任何多余的内容。 第四题:循环节长度 题目描述 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。 比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。 下面的方法

第八届蓝桥杯国赛

做~自己de王妃 提交于 2019-12-02 10:58:18
1.求0 1 2 3 4 5 6 7 8 9 组成的最大的平方数 2.细胞生命周期。。。。。 3.代码填空 树形 4.指令执行,进制转换 5.LOL博弈 6.区间[0-10000] 感悟:第一次参加蓝桥杯,javaB组,省赛离国赛的时间真实太长了,其实参加蓝桥杯的初衷是拿个省奖,或许你会觉得我目标太低。。。我校是普通的二本院校,在我们学校省奖就可以保一下学位证(没拿到学位证的可以凭借省奖换来一次机会)!!!成绩出来了,省一。。。算是达到目标了,不过上天总喜欢开玩笑,我校新通知,奖项只能加点学分(吐血)。。。牛逼啊,正中我膝盖,我要这省一有何用?虽然进入了国赛,不过我毫无斗志啊。。。加上这阶段比较忙,一点算法也没看,直至国赛的到来。 提前一天到了北京,我一副土包子进京的模样,到北京已经下午了,同行11个人,去北方工业大学看了看考场,学校还不错,然后在北方工业大学操场上玩狼人杀。我和一个小伙伴去买牌,他们的小卖部感觉好隐蔽,各种拐弯。回来的时候看见一辆法拉利!身为农村娃的我们,怎么能错过这个装逼的机会!一顿拍照。不负大家厚望,我们买来一副牌。虽然慢了点。大概玩到11点,是不是觉得很无聊,哈哈。回去洗个澡就直接睡了。 第二天起了个澡,去吃了早餐,北京饭菜贵果然不是瞎喊出来的,提前到了考场。然后开考,做题,结束。今年的试题确实有进步,出题人语文水平有提高,都可以看懂了,不过太马虎了!!!