一个单词,可以在其相边的两个字母中插入一个“-”(横杠字符)而形成一个字符串,比如单词cake,可以在相连字母间(不同的位置)拖入“-”,而得到如下字符串:
c-a-k-e
ca-k-e
cak-e
c-ak-e
c-ake
ca-ke
c-a-ke
如果给定任一个单词(作为输入),按上面的规则,在其相边的两个字母中插入一个“-”,要计算出所有可能的形成的字符串(输出),程序要怎么写?
function TMainFM.getPower(Base, Mi: Integer): Integer;
var
i:integer;
begin
Result:=1;
for i:=1 to Mi do
Result:=Result*Base;
end;
function TMainFM.Int64ToBinStr(Source: Int64):string;
begin
while Source > 0 do
begin
if (Source and $01)=1 then Result :='1'+Result else Result :='0'+ Result;
Source:=Source SHR 1;
end;
end;
procedure TMainFM.Button2Click(Sender: TObject);
var
n,i,j:integer;
sWord,sNewWord,sTemp:string;
begin
Memo1.Lines.Clear;
sWord:='cake';
n:=Length(sWord);
for i:=0 to getPower(2,n-1)-1 do
begin
sNewWord:=sWord;
sTemp:='';
sTemp:=Int64ToBinStr(i);
while Length(sTemp)<n do
sTemp:='0'+sTemp;
for j:=length(sTemp) downto 1 do
if sTemp[j]='1' then
Insert('-',sNewWord,j);
Memo1.Lines.Add(sNewWord);
end;
end;
其中Memo1为TMemo控件,效率可能不怎么高,但能解决问题就OK了
分享到:
相关推荐
CSDN代码打包,平时积累的一些小的代码片段,作为参考的代码使用。
这是小编参考部分CSDN博客首页网页代码,自己实现整个效果的代码的压缩包,读者有需要的,可以自行下载。
这是本人通过对csdn上的代码高亮就行排减后得到的,组件就那几个文件,很好用!希望对大家有用!
实现部分CSDN网站功能的小项目 有比较好的练习价值
使用clipboardjs实现仿CSDN代码复制功能,博文地址:https://blog.csdn.net/CSDNVIP2011/article/details/86595690
从CSDN论坛中将相关的目录树代码分离出来,后期可对其进行二次开发,本代码分离的时间比较久,一直藏在电脑中,这次特拿出来分享给大家使用。
使用clipboardjs实现仿CSDN的代码复制功能v2版本,博文地址:https://blog.csdn.net/CSDNVIP2011/article/details/86595690
几个有意思的客户端漏洞 - weixin_30685047的博客 - CSDN博客首页博客学院下载论坛问答商城活动专题招聘图文课Python工程师写博客转 几个
自己写的asp.net 代码生成器 若有疑问联系QQ544720933
自己动手写CPU的配套代码
读者写者问题代码 内核 操作系统 μC_OS-Ⅱ
csdn代码高亮样式(拷贝兼容谷歌、火狐),挂到自己的blog上时,需要一点小修改,具体修改参见博客: http://blog.csdn.net/lingchen_yu,文章名字叫《仿csdn代码高亮样式,兼容chrome、firefox拷贝》
公布2008年3月25日最新的2款CSDN的CSS模块 希望大家喜欢。
实现代码在web页面中的高亮显示,类似csdn中代码类的,同时实例代码中使用Emmet规范等
通过XML网站制作了一个,关于自己的仿苹果特效网站,一张图片MACboot,制作的网站流程,使用VScode软件,代码做成的苹果网站,大家可以通过这种,代码仿自己的苹果网站。 XML与HTML有何不一样的,欢迎留言,望采纳,...
博客地址:http://blog.csdn.net/lmj623565791/article/details/26676137#reply 有问题博客中留言
摘要视图订阅登录 | 注册451019次第2823名102篇224篇7篇83条一个有意思的东东 linux c打印自己的程序 1...2...3...4..
最近一直都在搞网站抓取方面的开发,闲着无聊逛逛论坛,发现有些帖子还是写的相当不错的,只是一篇一篇的点进去比较麻烦,于是就写了个小软件只是为了方便查看博客园和CSDN上的优秀文章。其实这个还可以拓展的,比如...
CSDN 牛人 项目 源代码 代码 大全 新手 学习
想了一下, 把blog上在用的最终版本发上来,之前在这篇blog里面说的, http://blog.csdn.net/lingchen_yu/article/details/41822167, 要各种修改, 想想我也挺讨厌这种做法, 哎, 想想都是我太懒了, 自己改好就没管了= =