sbw Blog - 算法设计
  • 来源: 石博文博客 | 浏览: 15520 | 评论: 4 | 时间: 2013-10-23
    写了一个简单的日期类,主要实现了日期与从元年开始到某一天的天数之间的转换,虽然不难,但是在闰年的判断这里如果不细心经常出错,利用这个类很方便的做出了一道算法题目--蓝桥杯的<高斯日记>.
  • 来源: 石博文博客 | 浏览: 10981 | 评论: 0 | 时间: 2013-09-14
    泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。
  • 来源: 石博文博客 | 浏览: 7241 | 评论: 0 | 时间: 2013-08-17
    上周末,M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月,在开始的18个月,一个月有20天,月份的名字分别是pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu。这些月份中的日期用0到19表示。Haab历的最后一个月叫做uayet,它只有5天,用0到4表示。玛雅人认为这个日期最少的月份是不吉利的,在这个月法庭不开庭,人们不从事交易,甚至没有人打扫屋中的地板。
  • 来源: 石博文博客 | 浏览: 5676 | 评论: 4 | 时间: 2013-08-14
    大多数读者都知道cache是一种快速小型的内存,用以存储最近访问内存位置。这种描述合理而准确,但是更多地了解一些处理器缓存工作中的“烦人”细节对于理解程序运行性能有很大帮助。在这篇博客中,我将运用代码示例来详解cache工作的方方面面,以及对现实世界中程序运行产生的影响。
  • 来源: 石博文博客 | 浏览: 11671 | 评论: 2 | 时间: 2013-08-01
    欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。而扩展欧几里德算法是用来在已知a, b求解一组x,y使得ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。
  • 来源: 石博文博客 | 浏览: 2191 | 评论: 0 | 时间: 2013-08-01
    公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。
  • 来源: 石博文博客 | 浏览: 13075 | 评论: 4 | 时间: 2013-06-27
    Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。
  • 来源: 石博文博客 | 浏览: 3106 | 评论: 2 | 时间: 2013-06-19
    蓝桥杯算法大赛中C/C++组题目: 纵横放火柴游戏.在3x4的格子中,游戏的双方轮流放置火柴棒,其规则是:1. 不能放置在已经放置火柴棒的地方(即只能在空格中放置)。2. 火柴棒的方向只能是竖直或水平放置。3. 火柴棒不能与其它格子中的火柴“连通”。所谓连通是指两根火柴棒可以连成一条直线,且中间没有其它不同方向的火柴“阻拦”。 4. 游戏双方轮流放置火柴,不可以弃权,也不可以放多根。直到某一方无法继续放置,则该方为负(输的一方)。游戏开始时可能已经放置了多根火柴。本文给出了此题的C++解法.
  • 来源: 石博文博客 | 浏览: 22618 | 评论: 12 | 时间: 2013-06-19
    安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。
  • 来源: 石博文博客 | 浏览: 3637 | 评论: 4 | 时间: 2013-04-10
    已知平面上若干个点的坐标。需要求出在所有的组合中,4个点间平均距离的最小值(四舍五入,保留2位小数)。比如有4个点:a,b,c,d, 则平均距离是指:ab, ac, ad, bc, bd, cd 这6个距离的平均值。每个点的坐标表示为:横坐标,纵坐标,本题测试用例很多,达上千个点,要注意程序效率! 本文给出了C++语言的解法.
  • 来源: 石博文博客 | 浏览: 6502 | 评论: 0 | 时间: 2013-03-23
    “数独”是当下炙手可热的智力游戏。一般认为它的起源是“拉丁方块”,是大数学家欧拉于1783年发明的。6x6的小格被分为6个部分(图中用不同的颜色区分),每个部分含有6个小格(以下也称为分组)。开始的时候,某些小格中已经填写了字母(ABCDEF之一)。需要在所有剩下的小格中补填字母。本文给出了此题的C++语言解法。