【思特奇杯·云上蓝桥-算法集训营】第1周
备战蓝桥,第一周
Sedatem
沉心静气,不论起伏。
展开
-
猴子分香蕉
题目 思路一 求最开始最少香蕉数,我们根据分堆次序,可以知道如果最后一只猴子分成五份时,每只猴子分到的是m个香蕉,则最开始的香蕉数能满足条件且最少。 第五只猴子分配时有m*5=5m个香蕉 第四只猴子分配时有 5m*5/4+4 第三只猴子分配时有 (5m*5/4+4)*5/4+3 第二只猴子分配时有 ((5m*5/4+4)5/4+3)* 5/4+2 第一只猴子分配时有 (((5m*5/4+4)5/4+3)* 5/4+2 )*5/4+1 总数需要满足整数的条件,由此可以解出m的值原创 2022-01-08 16:18:09 · 474 阅读 · 0 评论 -
100阶乘的约数个数
题目 思路 约数的概念:约数就是因数。整数a除以整数b,除得的商正好是整数而没有约数,我们就说a能被b整除,或者b能整除a。a称为b的倍数,b称为a的约数。 约数个数定理: 想要使用约数个数定理,就需要将这个数分解成对应的质因子,然后取指数再+1相乘。 在这道题中,我们统计100的阶乘可以分解成质因数的乘积,其中每个质因子出现的次数。 将每个数的次数(arr[j])+1在乘积,即为所得约数解。 Code public class Main { public static void原创 2022-01-08 15:38:47 · 1523 阅读 · 0 评论 -
跑步计算--Java
题目 思路 这道题代入计算即可 Code import day1; import java.util.Arrays; public class Main { public static void main(String[] args) { int sum=10000; int flag = 1; int time = 0; while(sum+300>=600){ i原创 2022-01-08 10:56:48 · 421 阅读 · 0 评论 -
图书排序--Java
题目 思路 需要实现三个方法:检查是否编号相邻的书放在了相邻的位置的方法、元素交换位置的方法、排序的方法(调用元素交换位置的(swap())方法实现重新排序,再调用check方法判断新的排序是否符合条件) check(): 两个相邻的元素,如果它们的数字是相邻的,就是两个元素相减的绝对值 == 1,返回false即可 swap(): 用位运算的方法,节省内存 Code package day1; public class Main { static int res=0; publ原创 2022-01-08 10:50:53 · 347 阅读 · 0 评论 -
哥德巴赫猜想
题目 思路 需要创建三个方法:判断素数的方法、判断偶数符合哥德巴赫猜想的方法、判断一定范围内的数是否符合猜想的方法 判断素数的方法是:创建循环来判断是否2~i-1之间有其因子(能被2整除),有则不是素数返回false,反之则返回true 判断是否符合哥德巴赫猜想的方法:创建循环遍历,只要两个数之和为该偶数,且两数均为素数,则满足条件,符合哥德巴赫猜想 Code //完整代码 package day1; public class Main { public static boolean isPr原创 2022-01-08 10:34:32 · 394 阅读 · 0 评论 -
蓝桥杯--出栈次序
题目 题目描述: X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。 路边有个死胡同,只能容一辆车通过,是临时的检查站,如上图所示。 X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。 如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种? 为了方便起见,假设检查站可容纳任意数量的汽车。 思路 f(1)=1 f(2)=2 //12、21 f(3)=5 //原创 2022-01-07 22:22:54 · 129 阅读 · 1 评论