2016年5月24日

POJ1700 Crossing River

摘要: 问题链接:POJ1700 Crossing River。问题描述:参见上文。问题分析:这个问题适合于用贪心法来解决,所以需要对输入的数据事先进行排序。同时还需要考虑特例情况,数据个数小于3的时候,需要特殊处理;数据个数大于3的时候,需要统一处理。假设人数为n,总的过河... 阅读全文

posted @ 2016-05-24 11:02 海岛Blog 阅读(84) 评论(0) 推荐(0) 编辑

2016年5月23日

Python程序-打印九九乘法表

摘要: 源程序如下:# 打印九九乘法表for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(j, i, i*j), end='') print()程序执行结果... 阅读全文

posted @ 2016-05-23 22:17 海岛Blog 阅读(271) 评论(0) 推荐(0) 编辑

Python程序-打印斐波拉契数列

摘要: 这个程序的输出从第0项开始,输出到指定的项为止。程序如下:# 打印斐波拉契数列 iterations = int(input("Number of iterations: "))cont = 1result = ""if iterations > 0: fibo... 阅读全文

posted @ 2016-05-23 19:53 海岛Blog 阅读(250) 评论(0) 推荐(0) 编辑

I00015 打印等腰三角形字符图案(底边在上)

摘要: 曾经的计算机,没有显示屏,人们操作计算机时,用打印机记录执行的操作命令。后来有了显示屏,不过最初的显示屏是字符频幕,输出只能是字符。即使是今日,计算机已经进入多窗口图形界面时代,有时程序的输出也依然是字符的。打印等腰三角形程序,关键是有关循环控制。程序中需要控制好总行... 阅读全文

posted @ 2016-05-23 19:19 海岛Blog 阅读(202) 评论(0) 推荐(0) 编辑

I00015 打印等腰三角形字符图案(底边在上)

摘要: 曾经的计算机,没有显示屏,人们操作计算机时,用打印机记录执行的操作命令。后来有了显示屏,不过最初的显示屏是字符频幕,输出只能是字符。即使是今日,计算机已经进入多窗口图形界面时代,有时程序的输出也依然是字符的。打印等腰三角形程序,关键是有关循环控制。程序中需要控制好总行... 阅读全文

posted @ 2016-05-23 19:19 海岛Blog 阅读(164) 评论(0) 推荐(0) 编辑

数制与编码

摘要: 人们对10进制不会陌生,随便写一个数123,从右到左分别是个位、十位和百位,123的个位是3、十位是2、百位是1。但是如果问:“百位到底是什么位?”又有几个人能够答得上来呢? 人类使用10进制也许和人的指头数量有关,人的手指头和脚趾头都是10个。 人类并不... 阅读全文

posted @ 2016-05-23 18:29 海岛Blog 阅读(289) 评论(0) 推荐(0) 编辑

C语言实现的RSA算法程序

摘要: 源程序来自Gethub的Simple implementation of the RSA algorithm。程序中有关类型转换代码略做修改,并且已经能够编译运行。程序如下:#include #include #include #include #define ACC... 阅读全文

posted @ 2016-05-23 10:00 海岛Blog 阅读(2313) 评论(1) 推荐(0) 编辑

2016年5月22日

B00008 C++实现的大整数计算(一)

摘要: 程序来自:BigInteger。源程序如下:/* * @author panks * Big Integer library in C++, single file implementation. */#include #include #include #inclu... 阅读全文

posted @ 2016-05-22 22:39 海岛Blog 阅读(147) 评论(0) 推荐(0) 编辑

影响历史进程的三只苹果

摘要:  三只苹果影响着人类的历史,同样也影响着计算机科学技术发展的历史。 有人说,历史上有三只苹果改变世界,一是亚当和夏娃的苹果,二是牛顿的苹果,三是乔布斯的苹果。 也有人说有三只苹果改变了计算机科学与技术发展的进程,一是亚当和夏娃的苹果,二是图灵的苹果,三是乔布... 阅读全文

posted @ 2016-05-22 08:27 海岛Blog 阅读(515) 评论(0) 推荐(0) 编辑

2016年5月20日

C语言实现的RSA算法程序(使用GMP)

摘要: 这个程序使用了GMP包,所以程序比较简洁,并且几乎不论多大的整数都可以计算。代码来自rosettacode.org的RSA code。C语言程序如下:#include #include #include #include int main(void){ mpz... 阅读全文

posted @ 2016-05-20 00:14 海岛Blog 阅读(603) 评论(0) 推荐(0) 编辑

2016年5月19日

C++实现的大整数分解Pollard's rho算法程序

摘要: 代码来自GeeksforGeeks的Pollard’s Rho Algorithm for Prime Factorization。C++语言程序代码如下:/* C++ program to find a prime factor of composite using... 阅读全文

posted @ 2016-05-19 23:56 海岛Blog 阅读(193) 评论(0) 推荐(0) 编辑

Java实现的大整数分解Pollard's rho算法程序

摘要: 这个程序是从英文版维基百科的链接中看到的。代码来自PollardRho.java。程序如下:/****************************************************************************** * Compi... 阅读全文

posted @ 2016-05-19 23:45 海岛Blog 阅读(199) 评论(0) 推荐(0) 编辑

素性测试算法

摘要: 判定一个整数是否为素数即为素性测试(Primality test)。素性测试的算法分为确定型启发式算法和随机算法。随机算法:费尔马素性测试法(Fermat primality test)Miller-Rabin素性测试法(Miller–Rabin primality ... 阅读全文

posted @ 2016-05-19 22:53 海岛Blog 阅读(595) 评论(0) 推荐(0) 编辑

素性测试AKS算法程序

摘要: AKS算法,是三位印度人发明的,AKS是他们的姓氏首字母。ASK算法是确定算法,其时间复杂度相当于多项式的,属于可计算的算法。另外需要了解的是Miller-Rabin素性测试算法。该算法不是确定算法。然而测试的计算速度快,比较有效,被广泛使用。代码来自rosettac... 阅读全文

posted @ 2016-05-19 13:30 海岛Blog 阅读(734) 评论(0) 推荐(0) 编辑

2016年5月18日

C++实现的Miller-Rabin素性测试程序

摘要: Miller-Rabin素性测试算法是概率算法,不是确定算法。然而测试的计算速度快,比较有效,被广泛使用。另外一个值得介绍的算法是AKS算法,是三位印度人发明的,AKS是他们的姓氏首字母。ASK算法是确定算法,其时间复杂度相当于多项式的,属于可计算的算法。代码来自Sa... 阅读全文

posted @ 2016-05-18 16:52 海岛Blog 阅读(432) 评论(0) 推荐(0) 编辑

为什么天朝互联网的三巨头是BAT

摘要: B即百度,A即阿里巴巴,T即腾讯,BAT是天朝互联网三巨头的简称。需要问的问题是,为什么天朝互联网的三巨头是BAT?这需要仔细观察一下这三家公司都在做什么,给人们带来什么。以下先回顾一下众所周知的事情,然后再做简单分析。 百度的核心产品是搜索引擎,并以此为核心提供多... 阅读全文

posted @ 2016-05-18 11:10 海岛Blog 阅读(320) 评论(0) 推荐(0) 编辑

KMP模式匹配算法程序(Python,C++,C)

摘要: 代码来自维基教科书:Knuth-Morris-Pratt pattern matcher。Python程序如下:# Knuth-Morris-Pratt string matching# David Eppstein, UC Irvine, 1 Mar 2002#fr... 阅读全文

posted @ 2016-05-18 09:53 海岛Blog 阅读(260) 评论(0) 推荐(0) 编辑

I00014 汉若塔问题的C++程序

摘要: 代码来自维基教科书:C++ Programming As A Set Of Problems。程序如下: #include void hanoi(int depth, int from, int to, int alternate) { if(depth =... 阅读全文

posted @ 2016-05-18 06:50 海岛Blog 阅读(141) 评论(0) 推荐(0) 编辑

2016年5月16日

扩展欧几里得算法与模乘逆元的程序

摘要: 代码来自维基百科的Extended Euclidean algorithm。扩展欧几里得算法程序:function extended_gcd(a, b) s := 0; old_s := 1 t := 1; old_t := 0 r :=... 阅读全文

posted @ 2016-05-16 19:04 海岛Blog 阅读(282) 评论(0) 推荐(0) 编辑

为什么需要学习C语言

摘要: 学习C语言的主要理由有以下几点:·C语言可以作为学习计算机程序设计语言的入门语言;·C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效;·C语言具有现代高级程序设计语言的基本语法特征;·常用的面向对象程序设计语言例如C++和Java,其基本语法源于C语言;... 阅读全文

posted @ 2016-05-16 18:51 海岛Blog 阅读(191) 评论(0) 推荐(0) 编辑

B00007 快速模幂运算的两个C语言程序

摘要: 代码来自维基百科的Modular arithmetic。这两段代码都不是大整数计算的程序,是2进制64整数的计算程序,数据不能大于2进制63位。两段代码分别如下:uint64_t mul_mod(uint64_t a, uint64_t b, uint64_t m){... 阅读全文

posted @ 2016-05-16 18:42 海岛Blog 阅读(152) 评论(0) 推荐(0) 编辑

RSA的JavaScript程序

摘要: 代码来自维基百科的RSA (cryptosystem)。RSA的JavaScript程序如下:'use strict';/** * RSA hash function reference implementation. * * @namespace */var RSA... 阅读全文

posted @ 2016-05-16 18:30 海岛Blog 阅读(240) 评论(0) 推荐(0) 编辑

自由软件与软件版权

摘要: 理查德·马修·斯托曼(R.M.Stallman,生于1953年),自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。自由软件:自由软件是指计算机用户拥有选择和任何人合作的自由、拥有掌控他们所用的... 阅读全文

posted @ 2016-05-16 07:24 海岛Blog 阅读(256) 评论(0) 推荐(0) 编辑

2016年5月14日

Modular Multiplicative Inverse(模乘逆元)

摘要: 计算模乘逆元原理上有四种方法:1.暴力算法2.扩展欧几里得算法3.费尔马小定理4.欧拉定理模乘逆元定义:满足 ab≡1(mod m),称b为a模乘逆元。以下是有关概念以及四种方法及程序。文章出处:Modular Multiplicative InverseThe mo... 阅读全文

posted @ 2016-05-14 20:34 海岛Blog 阅读(585) 评论(0) 推荐(0) 编辑

HDU1222 Wolf and Rabbit

摘要: 问题链接:HDU1222 Wolf and Rabbit。问题描述:参见上文。问题分析:对于输入的m,可以看作是狼的步伐。对于输入的n,用0到n-1围成一圈。如果m和n有最大公约数(非1),则有一些标号的洞坑狼永远到达不了,兔子有洞坑可以躲,是安全的;如果m和n没有最... 阅读全文

posted @ 2016-05-14 16:21 海岛Blog 阅读(183) 评论(0) 推荐(0) 编辑

导航