1、隔行变色
Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。
小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....
现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。
请你直接提交这个整数,千万不要填写任何多余的内容。
题解:
package demo; public class demo { public static void main(String[] args) { int color = 0; for (int i = 21; i <= 50; i++) { if (i % 2 != 0) { color++; } } System.out.println(color); } }
2、煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
题解:
package demo; public class demo { public static void main(String[] args) { int an = 1; int sn = an; for (int i = 2; i <= 100; i++) { an += i; sn += an; } System.out.println(sn); } }
3、哪天返回
小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。
他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
请计算一下,小明在第几天就能凑够108元,返回地球。
package action; public class demo { public static void main(String[] args) { int an = 1; int sn = 0; int n=0; for (n = 0; sn < 108; n++) { sn += an; an += 2; } System.out.println(n); } }
4、猴子分香蕉
5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!
请计算一开始最少有多少个香蕉。
题解:
package action; public class demo { public static void main(String[] args) { for (int n = 20;; n++) { double y = n; // 桃子的个数 for (int x = 1; x <= 4; x++) { y = y - x - (y - x) / 5; } if (y % 5 == 0) { System.out.println(n); break; } } } }
5、求和
试题 A: 求和
本题总分:5 分
【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包
括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019 中,所有这样的数的和是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
package action; public class demo { public static void main(String[] args) { int sum = 0; for (int i = 0; i <= 2019; i++) { // 将数字转换为字符串 String str = String.valueOf(i); if (str.contains("2") || str.contains("0") || str.contains("1") ||str.contains("9")) { sum += i; } } System.out.println(sum); } }
6、加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
题解:
package demo; public class demo { public static void main(String[] args) { for (int i = 0; i < 47; i++) { for (int j = i + 2; j < 49; j++) { if (1225 + i * i + j * j == 2015 + (i + 1) + (j + 1)) { System.out.println(i); } } } } }
附加、立方尾不变
有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,....
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
请提交该整数,不要填写任何多余的内容。
题解:
package demo; public class demo { public static void main(String[] args) { int count = 0; for (int i = 1; i <= 10000; i++) { String x = i + ""; String cudb = cudb(i) + ""; // 切割立方数最后相应几位 String y = cudb.substring(cudb.length() - x.length()); // 判断是否相同 if (y.equals(x)) { count++; } } System.out.println(count); } /** * @param x * @return */ public static long cudb(int x) { return (long)Math.pow(x, 3); } }
总结
这类题一般是蓝桥的第1/2题或3题,相对来说比较简单,但是只要做出来,基本省三是可以拿到的。
题目难度会随着练习越来越难,对于刚刷题没几天的小伙伴可以快速的弄个奖。