算法题
文章平均质量分 81
AtCoder
「已注销」
不忘初心
展开
-
SHA-1实现
SHA-1可将任意长度(小于2的64次方)的明文散列成固定的160位。这里分成三部分来实现SHA-1是如何操作的一、消息填充对明文进行填充,得到固定512位(或512的倍数),因为SHA-1是分组操作的,每一组512位。这篇文章以一组512位为例,不考虑很长。填充方法:1. 在明文后面先填充一个字节 1000 00002. 然后一直填充0,注意后面要空出64位3. 最后64位填充的是明文的长度举个例子:假设明文是 “abc” 因为 ‘a’ = 97, ‘b’ = '98', c原创 2021-04-09 14:11:05 · 1000 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫问题大概是这样的:有n个人围成一圈,编号为 1, 2,....,n 。从第一个人开始报数(从1开始),报到 k 数字的人出圈,然后下一个人又从 1 开始报数,...,以此类推,直到最后只剩下一个人,问这个人的编号是多少。模拟解决约瑟夫问题大概思想:用双端队列模拟这个圈,每次将前k-1个人移至队列尾部,然后删除队列第一个元素,直到剩下一个人。#include <iostream>#include <deque>using namespace std;int.原创 2021-03-20 17:49:46 · 461 阅读 · 0 评论