-
2007-08-22
高精度减法 - [Algorithms]
{说明:用字符串来存放减数和被减数,最大限制255位减255位}
program jjzx; {本程序没有考虑两负数相减}
var s,s1,s2:string;
a,b,c:array[1..260] of integer;
i,l,m,k1,k2:integer;
d:char; {D用来表示正负号}
begin
writeln('input s1:');readln(s1);
writeln('input s2:');readln(s2);
l:=length(s1); m:=length(s2);
if l  ... -
2007-08-22
高精度阶乘 - [Algorithms]
program jjzx; {本程序最大限制为求N(N<999)的阶乘}
var
a,b,c:array[1..1000] of integer;
i,j,l,m,k1,k2,x,y,z,w,n,t:integer;
procedure chengfa; {高精度乘法}
begin
for l:=1 to k1 do
for m:=1 to k2 do
&... -
2007-08-22
优化高精度减法 - [Algorithms]
{说明:用字符串来存放减数和被减数,最大限制255位减255位}
{优化在于用一个数组元素存放4位数,节省存储空间}
program jjzx; {本程序没有考虑两负数相间减}
var s,s1,s2:string;
a,b,c:array[1..260] of integer;
i,l,m,k1,k2:integer;
d:char; {D用来表示正负号}
begin
writeln('input s1:');readln(s1);
writeln('input s2:');readln(s2);
l:=length(s1);
m:=length(s2);
&n... -
2007-08-22
数字全排列问题 - [Algorithms]
数字全排列问题:
任意给出从1到N的N个连续的自然数,求出这N个自然数的各种全排列。如N=3时,共有以下6种排列方式:
123,132,213,231,312,321。
注意:数字不能重复,N由键盘输入(N<=9)。
解题思路:
应用回溯法,每个数的取法都有N个方向(1——N),当取够N个数时,输出一个排列,然后退后一步,取前一个数的下一个方向(即前一个数+1),并且要保证所有数字不能重复。当前数字的所有方向都取完时,继续退一步,一直重复到第一个数为止。
程序代码:
program quanpailie; {数字全排列问题}
var
a:array[1..9] of integer;
k,x,n:... -
2007-08-22
枚举法 - [Algorithms]
有4个学生,上地理课时提出我国四大谈水湖的排列次序如下: 甲:洞庭湖最大,洪泽湖最小,鄱阳湖第三;
乙:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三;
丙:洪泽湖最小,洞庭湖第三;
丁:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三;
对于各湖泊应处的位置,每个人只说对了一个。根据以上描述和条件,编写程序,让计算机判断一下各湖泊应该处于第几位。
解题思路:设置洞庭湖、洪泽湖、鄱阳湖、太湖分别用字母A、B、C、D代表,最大到最小依次用数字4——1表示。应用枚举法可以解决此问题,不过稍微复杂罗嗦点。
源程序如下:
program hupo;
var
a,b,c,d:integer;
beg... -
2007-08-22
归并排序算法 - [Algorithms]
合并排序(MERGE SORT)是又一类不同的排序方法,合并的含义就是将两个或两个以上的有序数据序列合并成一个新的有序数据序列,因此它又叫归并算法。它的基本思想就是假设数组A有N个元素,那么可以看成数组A是又N个有序的子序列组成,每个子序列的长度为1,然后再两两合并,得到了一个 N/2 个长度为2或1的有序子序列,再两两合并,如此重复,值得得到一个长度为N的有序数据序列为止,这种排序方法称为2—路合并排序。
例如数组A有7个数据,分别是: 49 38 65 97 76 13 27,那么采用归并排序算法的操作过程如图7所示:
初始值 &... -
2007-08-22
动态规划-航线设置 - [Algorithms]
问题描述:美丽的莱茵河畔,每边都分布着N个城市,两边的城市都是唯一对应的友好城市,现需要在友好城市开通航线以加强往来.但因为莱茵河常年大雾,如果开设的航线发生交叉现象就有可能出现碰船的现象.现在要求近可能多地开通航线并且使航线不能相交!
假如你是一个才华横溢的设计师,该如何设置友好城市间的航线使的航线数又最大又不相交呢?
分析:此问题可以演化成求最大不下降序列来完成.源程序如下:
program dongtai; {动态规划之友好城市航线设置问题}
var
d:array[1..1000,1..4] of integer;
i,j,k,n,L,p:integer;
procedure... -
2007-08-22
优先队列示例: 哈夫曼编码 - [Algorithms]
// 优先队列示例: 哈夫曼编码
// Modified By Veiz
// Huffman.h
#ifndef HUFFMAN_H_
#define HUFFMAN_H_
#include <queue>
#include <vector>
#include <string>
#include <istream>
#include <ostream>
#include <fstream>
#include <iostream>
using namespace std;
struct huffmanNode; -
2007-08-22
约瑟夫环问题(Josephus) - [Algorithms]
原题:
用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。(约瑟夫环问题 Josephus)
提示:
由于当某个人退出圆圈后,报数的工作要从下一个人开始继续,剩下的人仍然是围成一个圆圈的,可以使用循环表,由于退出圆圈的工作对应着表中结点的删除操作,对于这种删除操作频繁的情况,选用效率较高的链表结构,为了程序指针每一次都指向一个具体的代表一个人的结点而不需要判断,链表不带头结点。所以... -
2007-08-16
在买房与不买房之间排徊的我 - [My Life]
最近听一个有房的哥哥说不要买房了.三年之内房价就会跌,我认为有点搞笑.
其实我真的不太相信房价在短时间内会跌.在我的潜意识里,我国的房价几乎是与三农问题直接挂钩的,我认为三农问题十年之内不解决,房价就会涨十年,二十年不解决,房价就会涨二十年,尽管我国政府早已着手解决三农问题,例如减税,建设社会主义新农村,工业反哺农业等一系列计划,但是至今仍没有看到太大成效,只有减税的措施惠及到了农民,因为负担没有以前那么重了.
引起房价居高不下的当然不止三农问题.还有很多经济问题,房产商控制以及我国国民心态等问题,在这里,我不想做一个失去理智.胡乱谴责政府相关政策的愤青,我也看到了政府领导层作出... -
2007-08-14
人生经典的八个问题 - [My Life]
问题一:如果你家附近有一家餐厅,东西又贵又难吃,桌上还爬着蟑螂,你会因为它很近很方便,就一而再、再而三地光临吗?
回答:你一定会说,这是什么烂问题,谁那么笨,花钱买罪受?可同样的情况换个场合,自己或许就做类似的蠢事。
不少男女都曾经抱怨过他们的情人或配偶品性不端,三心二意,不负责任。明知在一起没什么好的结果,怨恨已经比爱还多,但却“不知道为什么”还是要和他搅和下去,分不了手。说穿了,只是为了不甘,为了习惯,这不也和光临餐厅一样?
———做人,为什么要过于执着?!
问题二:如果你不小心丢掉100块钱,只知道它好像丢在某个你走过的地方,你会花200块钱的车费去把那100块找回来吗?回答:一个超级愚蠢的问题。
可是,相似的... -
2007-08-14
深夜,你的手机为谁而开? - [My Life]
女孩每天临睡会先关掉手机,然后把它放在自己的枕头旁边,这个习惯从买了手机的时候就这样保持着。之后女孩有个很要好的男朋友,两个人不见面的时候,就打打电话或发发短信,大家都喜欢这样的联络方式。 有一天夜里,男孩很想念女孩子,打了过去却关机,因为女孩子已经睡下了。第二天,男孩对女孩子说:“以后晚上不要关机,好么?我想你的时候找不到你,心会不安。” 从那以后,女孩开始另一种习惯–整夜都不关机。因为害怕他打... -
2007-08-14
确实挺经典的 - [My Life]
1.老夫妇去拍照,摄影师问:“大爷,您是要侧光,逆光,还是全光?",大爷腼腆的说:“我是无所谓,能不能给你大妈留条裤衩?"
2.老婆语录:允许你喝醉,允许你勾妹,但晚上必须给老娘归队,如果你敢伤我的心,伤我的肺,老娘一定把你的第三条腿打残废,让你的鸟鸟永远打嗑睡。
3.两个饺子结婚了,送走客人后新郎回到卧室,竟发现床上躺着一个肉丸子!新郎大惊,忙问新娘在哪?肉丸子害羞的说:讨厌,人家脱了衣服你就不认识啦!
4.俩老夫妻某日吃晚饭时突发奇想:裸餐!找找从前的感觉!脱光后老太婆道:我还有反应耶!乳房还和年轻时一样发热!老头斜了一眼道:耷拉到汤里了!
5.四只老鼠吹牛:甲:我每天都拿鼠药当糖吃;乙:我一天不踩老鼠夹脚发痒;丙:我每天不过几次大街不踏实;丁:时间不早了,回家抱猫去咯。
6.天是蓝... -
2007-08-14







