随笔分类 - 基础算法
摘要:题目 输入两个数m和n(m<=n),先计算a = m(m+1)(m+2)……(n-2)(n-1)n,然后再统计2到a之间(包含a)存在多少个合数。 暴力枚举 暴力枚举是最简单也是最基础的做法,直接从定义出发,遍历2到a之间的每个数,依次通过取余的方法去判断: m = int(input()) n =
阅读全文
摘要:题目描述 八皇后问题是一个经典的问题,这个问题最早是在1848年,由国际西洋棋棋手马克斯·贝瑟尔提出的,在两个世纪之后的今天,依然被人们津津乐道。这个问题的描述如下:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。 回溯思
阅读全文
摘要:前言 动态规划(Dynamic Programming,简称DP),一个让很多初学者望而却步的词语。因为相较于各类排序算法、二叉树遍历算法、以及贪心、回溯算法等,动态规划要更为抽象,它没有模板或者范式,我们不能依靠简单的依葫芦画瓢来解决动态规划问题。它提供的是一种解决问题的思路,“态”指的是对问题状
阅读全文