摘要: /* 扩展欧几里得算法 给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b) 设aX' + bY' = gcd(a, b) bX'' + (a mod b)Y'' = gcd(b, a mod b) bX'' + (a mod b)Y'' = gcd(a, b) bX'' + (a mod b)Y'' = aX' + bY' bX... 阅读全文
posted @ 2018-03-24 20:12 忧伤的小毛驴 阅读(113) 评论(0) 推荐(0)
摘要: /*求最大公约数 辗转相除法*/ public class Main { public static void main(String[] args) { System.out.println(gcd(14, 21)); } static int gcd(int a, int b) { if (b == 0) re... 阅读全文
posted @ 2018-03-24 19:10 忧伤的小毛驴 阅读(389) 评论(0) 推荐(0)
摘要: /* 算法提高 矩阵相乘 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容。 当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的。 小明希望你来帮他完成这个任务。 现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵, 要你求出他们相乘的积(当然也是矩阵)。 (输入数据保证aj=bi,不需要判断) ... 阅读全文
posted @ 2018-03-22 15:16 忧伤的小毛驴 阅读(173) 评论(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 忧伤的小毛驴 阅读(252) 评论(0) 推荐(0)
摘要: /* 算法提高 聪明的美食家 问题描述 如果有人认为吃东西只需要嘴巴,那就错了。 都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。 大宝是一个聪明的美食家,当然深谙此道。一次他来到某小吃一条街,准备从街的一头吃到另一头。为了吃得爽,他大费周章,得到了各种食物的“... 阅读全文
posted @ 2018-03-22 15:10 忧伤的小毛驴 阅读(202) 评论(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 忧伤的小毛驴 阅读(314) 评论(0) 推荐(0)
摘要: 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90 阅读全文
posted @ 2018-03-22 14:56 忧伤的小毛驴 阅读(287) 评论(0) 推荐(0)
摘要: /* 历届试题 分糖果 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入格式 ... 阅读全文
posted @ 2018-03-22 14:55 忧伤的小毛驴 阅读(146) 评论(0) 推荐(0)
摘要: /* 算法提高 质数的后代 问题描述 在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。 如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。 输入格式 第一行一个正整数T,表示需要判断的自然数数量 接下来T行,每行一个要判断的自然数 输出... 阅读全文
posted @ 2018-03-22 14:54 忧伤的小毛驴 阅读(198) 评论(0) 推荐(0)
摘要: /* 算法提高 6-9删除数组中的0元素 问题描述 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组长度,再依次读入每个元素。 将调用此函数后得到的数组和函数返回值输出。 样例输入 7 2 0 ... 阅读全文
posted @ 2018-03-22 14:52 忧伤的小毛驴 阅读(372) 评论(0) 推荐(0)