摘要: /* 算法提高 矩阵相乘 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容。 当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的。 小明希望你来帮他完成这个任务。 现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵, 要你求出他们相乘的积(当然也是矩阵)。 (输入数据保证aj=bi,不需要判断) ... 阅读全文
posted @ 2018-03-22 15:16 忧伤的小毛驴 阅读(169) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 身份证号码升级 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算方案: 将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以... 阅读全文
posted @ 2018-03-22 15:13 忧伤的小毛驴 阅读(220) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 聪明的美食家 问题描述 如果有人认为吃东西只需要嘴巴,那就错了。 都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。 大宝是一个聪明的美食家,当然深谙此道。一次他来到某小吃一条街,准备从街的一头吃到另一头。为了吃得爽,他大费周章,得到了各种食物的“... 阅读全文
posted @ 2018-03-22 15:10 忧伤的小毛驴 阅读(194) 评论(0) 推荐(0) 编辑
摘要: /* 算法训练 筛选号码 问题描述 有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开始报数)... 阅读全文
posted @ 2018-03-22 14:58 忧伤的小毛驴 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90 阅读全文
posted @ 2018-03-22 14:56 忧伤的小毛驴 阅读(280) 评论(0) 推荐(0) 编辑
摘要: /* 历届试题 分糖果 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入格式 ... 阅读全文
posted @ 2018-03-22 14:55 忧伤的小毛驴 阅读(139) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 质数的后代 问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。 如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。 输入格式 第一行一个正整数T,表示需要判断的自然数数量 接下来T行,每行一个要判断的自然数 输出... 阅读全文
posted @ 2018-03-22 14:54 忧伤的小毛驴 阅读(191) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 6-9删除数组中的0元素 问题描述 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组长度,再依次读入每个元素。 将调用此函数后得到的数组和函数返回值输出。 样例输入 7 2 0 ... 阅读全文
posted @ 2018-03-22 14:52 忧伤的小毛驴 阅读(346) 评论(0) 推荐(0) 编辑
摘要: /* 算法训练 连续正整数的和 问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n( n) break; else if (t == n) { System.out.println(i + " " + ... 阅读全文
posted @ 2018-03-22 14:50 忧伤的小毛驴 阅读(525) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 寻找三位数 问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。 输入格式 无输入文件 输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。 */ public class Main { ... 阅读全文
posted @ 2018-03-22 14:48 忧伤的小毛驴 阅读(590) 评论(0) 推荐(0) 编辑
摘要: /* 算法训练 学做菜 问题描述 涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。 涛涛现在会做的菜有五种: 1、 西红柿炒鸡蛋 原料:AABDD 2、 酸辣鸡丁 原料:ABCD 3、 宫保鸡丁 原料:CCD 4、 水煮西红柿 原料:BBB 5、 怪味蛋 原料:AD... 阅读全文
posted @ 2018-03-22 14:46 忧伤的小毛驴 阅读(189) 评论(0) 推荐(0) 编辑
摘要: /* 历届试题 带分数 问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 输入格式 从标准输入读入一个正整数N (N<1000*1000) 输出格式 程序输出该数字用数码1... 阅读全文
posted @ 2018-03-22 14:45 忧伤的小毛驴 阅读(255) 评论(0) 推荐(0) 编辑
摘要: /* 历届试题 剪格子 问题描述 如下图所示,3 x 3 的格子中填写了一些整数。 +--*--+--+ |10* 1|52| +--****--+ |20|30* 1| *******--+ | 1| 2| 3| +--+--+--+ 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两... 阅读全文
posted @ 2018-03-22 14:43 忧伤的小毛驴 阅读(124) 评论(0) 推荐(0) 编辑
摘要: /* 历届试题 矩阵翻硬币 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均... 阅读全文
posted @ 2018-03-22 13:37 忧伤的小毛驴 阅读(146) 评论(0) 推荐(0) 编辑
摘要: /* 基础练习 查找整数 问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。 输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 样例输入 6 1 9 4 8 3 9 9 ... 阅读全文
posted @ 2018-03-22 13:34 忧伤的小毛驴 阅读(150) 评论(0) 推荐(0) 编辑
摘要: /* 基础练习 Huffuman树 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。... 阅读全文
posted @ 2018-03-22 13:31 忧伤的小毛驴 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 算法训练 6-1 递归求二项式系数值 问题描述 样例输入 一个满足题目要求的输入范例。 3 10 样例输出 与上面的样例输入对应的输出。 数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。 import java.util.Scanner; public class Mai 阅读全文
posted @ 2018-03-22 13:29 忧伤的小毛驴 阅读(149) 评论(0) 推荐(0) 编辑
摘要: /* 算法训练 2的次幂表示 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用... 阅读全文
posted @ 2018-03-22 13:26 忧伤的小毛驴 阅读(277) 评论(0) 推荐(0) 编辑
摘要: /* 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不... 阅读全文
posted @ 2018-03-22 13:24 忧伤的小毛驴 阅读(140) 评论(0) 推荐(0) 编辑
摘要: /* 算法提高 8皇后·改 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。 输入格式 一个8*8的棋盘。 输出格式 所能得到的最大数字和 样例输入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35... 阅读全文
posted @ 2018-03-22 13:20 忧伤的小毛驴 阅读(150) 评论(0) 推荐(0) 编辑