Java蓝桥杯——逻辑推理练习题】的更多相关文章

逻辑推理题 谁是贼? 公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎.在回答公安人员的问题中: 甲说:"乙没有偷,是丁偷的." 乙说:"我没有偷,是丙偷的." 丙说:"甲没有偷,是乙偷的." 丁说:"我没有偷" 请根据这四人的谈话判断谁是盗窃者 *问题分析 假设A.B.C.D分别代表四个人 1代表该人是窃贼:0代表不是贼 甲 A 乙 B 丙 C 丁 D 甲 A 0 1…
递归练习题:走台阶(偶数版) 小明刚刚看完电影<第39级台阶>.离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步.那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案. package bb; public class 走台阶 { // 奇数步 static long 奇数步(int n) { if (n == 0)…
最大体积 问题描述 每个物品有一定的体积(废话),不同的物品组合,装入背包会战用一定的总体积. 假如每个物品有无限件可用,那么有些体积是永远也装不出来的. 为了尽量装满背包,附中的OIER想要研究一下物品不能装出的最大体积. 题目保证有解,如果是有限解,保证不超过2,000,000,000 如果是无限解,则输出0 输入格式 第一行一个整数n(n<=10),表示物品的件数 第2行到N+1行: 每件物品的体积(1<= <=500) 输出格式 一个整数ans,表示不能用这些物品得到的最大体积.…
求整数除法小数点后第n位开始的3位数 位数不足的补0,如0.125小数第3位后三位:0.12500→500 输入格式:a b n,空格分开,a是被除数,b是除数,n是小数后的位置 输出格式:3位数字,a÷b小数后第n位开始的3位数字 样例: 输入:1 8 1 输出:125 输入1 8 3 输出:500 输入:282866 999000 6 输出:914 package bb; import java.util.Scanner; public class 求小数n位后3个数 { static lo…
Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中.这个过程的费用记为pa + pb. 重复步骤1,直到{pi}中只剩下一个数. 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用. 本题任务:对于给定的一个数列,现在请你求出用该数列…
import java.math.BigDecimal; public class test { public static void main(String[] args) { BigDecimal one, ans; ans = one = BigDecimal.ONE; for (int i = 0; i < 1000; i++) { ans = one.add(ans); ans = one.divide(ans, 200, BigDecimal.ROUND_HALF_UP); Syst…
密码脱落 X星球的考古学家发现了一批古代留下来的密码.这些密码是由A.B.C.D 四种植物的种子串成的序列.仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串).由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征. 你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子. 输入一行,表示现在看到的密码串(长度不大于1000)要求输出一个正整数,表示至少脱落了多少个种子. 例如,输入:ABCBA则程序应该输出:0 再例如,…
思路:其实这道题不是太难,但是这个题太坑了,提交了好多次都不是100,后来才知道,一定一定要在输入数组数据之前先判断一下输进去的n的范围,一定一定要注意,否则就是跟我下面的图片一样的效果了,泪奔~ 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值. 输入格式:第一行是一个整数N,Nn<…
思路:这道题用HashMap来保存枚举的字串,key值保存字串-value值保存字串所出现的次数:         通过for循环并使用subString()方法枚举所有符合要求的子串maxStr记录出现次数最多的字串,          maxValue记录其出现的次数 1截取到的长度大于等于l的子串先比较是否已经存在map里, 1.1若存在,取出它的次数并+1.和最大次数比较 1.1.1若大于最大次数,将这个次数赋给最大次数,并且将子串赋给最大次数的子串 1.1.2若等于最大次数,再判断这两…
思路:根据提示的内容,我们可以得到c[i][j] += a[i][k]*b[k][j],k>=0&&k<s PS:这道题本身不难,但是当我定义A[m][s] B[s][n] c[m][n]  这样的大小时,总有几个测试数据过不去,只能得42分,后来我将三个数组大小都设定了为200*200,全部数据都通过了! import java.util.Scanner; public class _86矩阵乘法 { public static void main(String[] args…