Tag: 数学
一题简单的数学逻辑题: 一口井10米深, 一只青蛙在井底, 它白天往上爬3米, 晚上往下掉2米, 请问青蛙几天能爬出去? ChatGPT 不在行这种题, 简直就是糊说八道 睁眼睛说瞎话. 现在的人工智能基本上是基于大数据+机器学习也就是模式识别 Pattern Matching, 海量的数据进行训练, 如果数据本身就有问题(比如错误或者有偏好Bias), 那么通过学习得到的答案就有可能有问题. 这题的正确答案是8天, 青蛙7天爬7米, 第8天的时候往上3米就上了10米了. **ChatGPT: 这道题可以用数学模型来解决. 设青蛙爬出井口需要x天, 则: 第一天: 青蛙爬了3米, 距离井口还有 10 – 3 …
欧几里得定理 (Euclid’s theorem): 无限素数的证明 质数定义为只能被1和它本身整除的正整数, 质数有无穷多个的证明如下: 证明: 假设质数有有限个, 设它们为p1,p2,p3,…,pn, 则它们的乘积N=p1p2p3…pn, 由于N是一个正整数, 则N+1也是一个正整数, 而N+1不能被p1,p2,p3,…,pn整除, 因此N+1必定是一个质数, 这与假设矛盾, 因此质数有无穷多个. 素数有无限个的证明被称为欧几里德定理. 欧几里得定理指出, 如果你采用任何有限的素数集, 那么你总能找到一个不在该集合中的素数. 为了证明这个定理, 我们将使用数学上的反证法. 假设有一个有限的素数集, P = {p1, p2, p3, …, …
在计算机里, 斐波那契数(Fibonacci) 被常常用来当作递归和循环迭代的很好的例子. 斐波那契数定义如下: F(1) = 0 F(2) = 1 F(N) = F(N – 1) + F(N – 2) for N >= 3 前几项是: 0, 1, 1, 2, 3, …
英国的英镑硬币有 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), 和 £2 (200p). 比如我们可以用以下方式来组成2英镑 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p 问: 一共有多少种方式可以组成2英镑? 注意 不能有重复, 比如 …
题意: 给出一个数组, 求第三大的数字是多少, 重复的数字并不算在内, 比如 第3大的数字是1 而不是 2. Using std::set set 是集合, 是有序的(从小到大), 集合中不包含重复的元素, 所以我们可以遍历数组并把数字添加到集合中. 在这过程中, 如果集合大小大于三个, 就把最小的元素删除. 我们不能直接按照索引的访问集合中的元素, 但是我们可以用迭代器 rbegin() 和 begin() 来访问集合中最大和最小的元素. class Solution { public: int …
Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: Output: 3 Explanation: The first two digits or the last three digits …
2018年7月19日
ACM题解, 学习笔记, 数学, 数据结构与算法, 有意思的, 程序员, 程序设计, 算法, 编程, 计算机, 软件工程, 面试
这题据说是 GOOGLE的面试题, 但是却真实的被一些软件公司拿来考应聘者. 比如我在前几年面试剑桥的博通公司/Broadcom, 在第二轮也被问到了这个问题. 题意是: 给你两个鸡蛋, 有个100层楼, 你可以把鸡蛋从任意一层楼扔下, 鸡蛋可能破, 也可能不破, 如果不破的话, 你可以继续用这个鸡蛋扔. 你需要用这两个鸡蛋来试出鸡蛋会破的最小楼层高度. 这两个鸡蛋一模一样. 问你采用什么策略可以使最坏情况下的尝试次数最少? 什么是最差情况? 如果你只有一个鸡蛋, 那么你最坏需要100次(需要从1层楼开始测试)才可以得到结论. 最直接的做法就是从第一层开始试, 然后第二层以此类推, 但是这种方法只需要用到1个鸡蛋即可. 如果第N层鸡蛋没碎但是第N+1层碎了, 答案就是N. 这种情况下最坏需要尝试100次. 如果我们在第50层扔呢? 如果鸡蛋碎了, 那么答案就在第1到第49层, 反之答案就在第51到第100. …