
算法
CrzayCodess
本人在河海大学读本科,正在学习计算机
展开
-
史丰收速算
史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。乘以原创 2016-03-15 23:57:54 · 3679 阅读 · 0 评论 -
锦标赛(n个数中求第一和第二大的数)
如果要在n个数据中挑选出第一大和第二大的数据(要求输出数据所在位置和值),使用什么方法比较的次数最少?我们可以从体育锦标赛中受到启发。如图【1.png】所示,8个选手的锦标赛,先两两捉对比拼,淘汰一半。优胜者再两两比拼…直到决出第一名。第一名输出后,只要对黄色标示的位置重新比赛即可。下面的代码实现了这个算法(假设数据中没有相同值)。代码中需要用一个数组来表示图中的树(注意,这是个满二叉树,不足需要补原创 2016-03-17 16:36:52 · 4216 阅读 · 0 评论 -
手链样式( 使用全排列函数next_permutation)
原题:手链样式小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。 他想用它们串成一圈作为手链,送给女朋友。 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?请你提交该整数。不要填写任何多余的内容或说明性的文字。 #include <iostream> #include <cstdio> #include <cstring> #in转载 2016-03-14 16:19:29 · 1339 阅读 · 0 评论 -
next_permutation函数
next_permutation函数 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_permutation int main() { int a[3]; a[0]转载 2016-03-14 16:01:28 · 906 阅读 · 0 评论 -
蓝桥杯—地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少原创 2016-03-18 18:40:10 · 1318 阅读 · 0 评论 -
算日期模板
输入开始日期比如2016 3 18,然后输入经过天数比如1000,然后程序输出经过1000天后的日期。代码如下:#include<iostream>#include<cstdio>using namespace std;int main(){ int year,month,day,sum; int days[13]={0,31,28,31,30,31,30,31,31,30,3原创 2016-03-18 21:07:33 · 467 阅读 · 1 评论 -
计算日期模板
原题: 星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-原创 2016-03-14 16:16:44 · 465 阅读 · 0 评论