- 浏览: 79717 次
- 性别:
- 来自: 江苏
最新评论
-
kissyssong:
kissyssong 写道先顶再看!除法是Division吧, ...
杰哥私房题──大数相除 -
kissyssong:
先顶再看!除法是Division吧,怎么搞了个减法啊
杰哥私房题──大数相除 -
kissyssong:
这个比我自己写的好理解啊,顶
杰哥私房题──大数相乘 -
sesame:
兄弟真的很会折腾,不错! 刚好也用到windows连接ubun ...
Ubuntu与Windows 之间的远程桌面连接 -
soft901:
用递归写了个
private void josephu ...
杰哥私房题──约瑟夫问题
文章列表
问题描述
Julius Caesar 生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的
消息传递。假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来、并提
供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5
个字母替换(例如:消息原文中的每个字母A 都分别替换成字母F),其他字符不 变,并且
消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文字母:V W X Y Z A B C D E ...
问题描述
有一些由英文字符组成的大小写敏感的字符串。请写一个程序,找到一个最长的字符串x,
使得:对于已经给出的字符串中的任意一个y,x 或者是y 的子串、或者x 中的字符反序之
后得到的新字符串是y 的子串。
输入:输入的第一行是一个整数t (1 <= t <= 10),t 表示测试数据的数目。对于每一组测试
数据,第一行是一个整数n (1 <= n <= 100),表示已经给出n 个字符串。接下来n 行,每行
给出一个长度在1 和100 之间的字符串。
输出:对于每一组测试数据,输出一行,给出题目中要求的字符串x 的长度;如果找不到
符合要求的字符串,则输出0。
输入 ...
问题描述
企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一个容
易记住的单词或者短语。例如,你需要给Waterloo 大学打电话时,可以拨打TUT-GLOP。
有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过拨打310-GINO
来向Gino's 订一份pizza。让电话号码容易被记住的另一个办法是以一种好记的方式对号码
的数字进行分组。通过拨打Pizza Hut 的“三个十”号码3-10-10-10,你可以从他们那里订
pizza。
电话号码的标准格式是七位十进制数,并在第三、第四位数字之间有一个连接符。电话拨
号盘提供了从字母到数字的映射,映射关系 ...
问题描述
在 skew binary 表示中, 第 k 位的值xk 表示xk(2k+1-1)。 每个位上的可能数字是0 或
1,最后面一个非零位可以是2, 例如, 10120(skew) = 1(25-1) + 0(24-1) + 1(23-1) + 2(22-1)
+ 0(21-1) = 31 + 0 + 7 + 6 + 0 = 44. 前十个skew 数是 0、1、2、10、11、12、20、100、101、
以及102。
输入数据
输入包含一行或多行,每行包含一个整数n。 如果 n = 0 表示输入结束,否则n 是一
个skew 数
输出要求
对于每一个输入,输出它的十进制表示 ...
问题描述
6*9 = 42 对于十进制来说是错误的,但是对于13 进制来说是正确的。即, 6(13) * 9(13) =
42(13), 而 42(13) = 4 * 131 + 2 * 130 = 54(10)。 你的任务是写一段程序读入三个整数p、q
和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B 有很多选择, 输出最小的一
个。例如: p = 11, q = 11, r = 121. 则有 11(3) * 11(3) = 121(3) 因为 11(3) = 1 * 31 + 1 * 30 =
4(10) 和 121(3) = 1 ...
如果需要大数值 (大于 32, 767 或小于 −32, 767), 使用 long 型。否则, 如果空
间很重要 (如有大数组或很多结构), 使用 short 型。除此之外, 就使用 int 型。如
果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字
节时避免符号扩展的问题, 请使用对应的无符号类型。但是, 要注意在表达式中混
用有符号和无符号值的情况。
尽管字符类型 (尤其是无符号字符型) 可以当成 “小” 整型使用, 但由于不可预
知的符号扩展和代码增大有时这样做可能得不偿失。使用无符号字符型有所帮助;
类似的问题参见问题 12.1。
在选择浮 ...
- 2009-02-20 21:32
- 浏览 803
- 评论(0)
问题描述
一个工厂制造的产品形状都是长方体,它们的高度都是 h,长和宽都相等,一共有六个
他们的长宽分别为 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. 这些产品通常使用一个 6*6*h 的长方
型号,
体包裹包装然后邮寄给客户。 因为邮费很贵, 所以工厂要想方设法的减小每个订单运送时的
包裹数量。 他们很需要有一个好的程序帮他们解决这个问题从而节省费用。 现在这个程序由
你来设计。
输入数据
输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空
格隔开,分别为 1*1 至 ...
问题描述
Alex 喜欢填词游戏。填词游戏是一个非常简单的游戏。填词游戏包括一个 N * M 大小
的矩形方格盘和 P 个单词。然后需要把每个方格中填上一个字母使得每个单词都能在方格
盘上被找到。每个单词都能被找到要满足下面的条件:
一个长为 k 的单词一定要占据 k 个方格。
每个方格都不能同时属于超过一个的单词。 单
词在方格盘中出现的方向只能是竖直的或者水平的(可以由竖直转向水平,反之亦然)。
你的任务是首先在方格盘上找到所有的单词 ...
问题描述
某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们
可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L 的位置;数轴上的每
个整数点,即 0,1,2,......,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。 这些区域用它们在数轴上的起始点和终止点表示。 已
知任一区域的起始点和终止点的坐标都是整数, 区域之间可能有重合的部分。 现在要把这些
区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上
还有多少棵树。
输入数据
输入的 ...
编辑器:vi需要添加的vi插件:ctags , taglist
ctags : ctags.sourceforge.net // 生成代码索引Taglist :vim-taglist.sourceforge.net//代码浏览
首先是要在网上下载
这两个插件,编译安装
1.ctags:
download ctags-5.6.tag.gz
tar xzvf ctags-5.6.tag.gz
cd ctags-5.6
./configure
make
sudo make install
具 ...
- 2009-02-13 21:00
- 浏览 1555
- 评论(0)
杰哥私房题──棋盘上的距离
- 博客分类:
- 杰哥私房题(C版)
问题描述
国际象棋的棋盘是黑白相间的 8 * 8 的方格,棋子放在格子中间。如图
国际象棋棋盘
王、后、车、象的走子规则如下:
王:横、直、斜都可以走,但每步限走一格。
后:横、直、斜都可以走,每步格数不受限制。
车:横、竖均可以走,不能斜走,格数不限。
象:只能斜走,格数不限。
写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标位置
所需的最少步数
输入数据
第一行是测试数据的组数 t(0 <= t <= 20 ...
- 2009-02-13 15:02
- 浏览 1120
- 评论(0)
编译单个文件
记事本写C++并用g++编译,同样,启动记事本gedit
写代码:
#include<iostream>
using namespace std;
int main()
{
cout<<"Hi,learning c++ in g++"<<endl;
return 0;
}
保存在主文件夹目录下,名字就叫hello ...
- 2009-02-12 23:05
- 浏览 1304
- 评论(0)
环境准备
刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,l
inux
-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。
可以在新立得里面搜索build-essential或输入下面命令:
sudo apt-get install build-essential
测试环境
安装完成后写一个C语言程序testc.c测试
一下。在gedit中新建一个空白文本文档,为了方便就保存在主文件夹中吧,(因为在任 ...
- 2009-02-12 22:02
- 浏览 2563
- 评论(0)
avast! antivirus是一个获奖无数的杀毒软件,免费供非商业性质的家庭用户使用。
不注册可试用60天。注册后将获得有效期为一年的注册号。
注册非常简单,只需填入电子邮箱、名字和国家/地区即可。
一年后重新注册即可获得新的注册号。
下载
地址:http://www.avast.com/cns/download-avast-for-linux
-edition.html
注册地址:http://www.avast.com/cns/home-registration.php
Linux版提供DEB、RPM和TAR GZ三种安装包。
在Ubuntu
中用DEB包安装后,可以通过菜单“应用 ...
问题描述
一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼
子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物
输入数据
第 1 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整
数 a (a < 32768)。
输出要求
n 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是
最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出 2 个 0。
输入样例
2
3
...