一个单词,可以在其相边的两个字母中插入一个“-”(横杠字符)而形成一个字符串,比如单词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(China Software Developer Network)网站的部分核心功能,提供给初学者或爱好者一个实践和学习的平台。这个项目具有良好的练习价值,可以帮助开发者加深对Web...
【csdn代码高亮组件】是一款专为提升代码展示效果而设计的工具,它使得在CSDN(China Software Developer Network)平台上分享代码时,能够以更美观、易读的方式呈现。这款组件通过特定的语法高亮算法,可以将不同...
CSDN代码打包,平时积累的一些小的代码片段,作为参考的代码使用。
这段描述指出,这个压缩包包含了一位作者(可能是一位博主或者开发者)根据CSDN博客首页的实际代码,重新实现的版本。这通常意味着,这些代码可能包括HTML、CSS和JavaScript,用以展示页面布局、样式和交互功能。...
这是我自己写的CSDN博客阅读器,可以直接查看博客,收藏博客,功能强大,欢迎大家下载使用,
"CSDN博客专家、VIP自定义模块炫酷代码.zip"是一个针对CSDN博客用户的资源,特别是那些博客专家、VIP用户以及企业博客用户,旨在提升他们的博客界面和吸引力。 自定义模块是CSDN博客提供的一项功能,它允许用户在...
【CSDN-UWP源代码】是一个针对CSDN(China Software Developer Network)平台的通用Windows平台(UWP,Universal Windows Platform)应用的源代码。这个项目可能是为了帮助用户更方便地访问CSDN网站,或者实现特定的...
自己写的asp.net 代码生成器 若有疑问联系QQ544720933
为了方便管理和备份自己的博客,CSDN提供了一款由C#编写的博客导出工具,该工具能将博客内容导出为MarkDown格式的文档,极大地简化了内容迁移和本地存储的过程。 Markdown是一种轻量级的标记语言,以其简洁易读的...
总之,通过分析CSDN资源代码与VB编程的关系,我们可以看到CSDN作为一个资源丰富的技术社区,为开发者提供了广泛的学习材料和实用工具,而VB编程作为其中一个重要组成部分,吸引了大量开发者进行交流和分享。...
csdn代码高亮样式(拷贝兼容谷歌、火狐),挂到自己的blog上时,需要一点小修改,具体修改参见博客: http://blog.csdn.net/lingchen_yu,文章名字叫《仿csdn代码高亮样式,兼容chrome、firefox拷贝》
本文将基于给出的博客文章标题和描述,探讨几个有意思的客户端漏洞,主要关注与Python和测试相关的安全问题。 首先,非必要的数据传输是客户端漏洞的一个常见表现。在系统登录过程中,如果服务器返回了所有用户的...
想了一下, 把blog上在用的最终版本发上来,之前在这篇blog里面说的, http://blog.csdn.net/lingchen_yu/article/details/41822167, 要各种修改, 想想我也挺讨厌这种做法, 哎, 想想都是我太懒了, 自己改好就没管了= =
总的来说,CSDN的编辑器是一个专门为技术交流设计的工具,它提供了丰富的代码编辑功能,包括但不限于多语言支持、语法高亮,以及可能的UBB标记语言解析,旨在为用户提供一个高效、友好的代码分享环境。通过"压缩包子...
通过XML网站制作了一个,关于自己的仿苹果特效网站,一张图片MACboot,制作的网站流程,使用VScode软件,代码做成的苹果网站,大家可以通过这种,代码仿自己的苹果网站。 XML与HTML有何不一样的,欢迎留言,望采纳,...
最近一直都在搞网站抓取方面的开发,闲着无聊逛逛论坛,发现有些帖子还是写的相当不错的,只是一篇一篇的点进去比较麻烦,于是就写了个小软件只是为了方便查看博客园和CSDN上的优秀文章。其实这个还可以拓展的,比如...
Algorithm2e is an environment for writing algorithms in L ATEX2e. An algorithm is defined as a floating object like figures. It provides macros that allow you to create different sorts of key words, ...
描述中提到的“自己写的小工具”是一个实用的程序,可以快速获取csdn上的文章,转换为Markdown格式。这意味着用户无需手动复制粘贴文章内容,而可以通过工具自动化处理,提高效率。这通常涉及到网络爬虫技术,通过...
好消息:CSDN博客下载器v2.0版本增加导出PDF文件功能,方便查看图片与文章。 在无网络环境,也可以看自己的一些文章。当然如果您发现CSDN博客的一些文章值得收藏,你也可以使用本软件轻松的下载到您的电脑。 该版本...
CSDN是一个知名的中文IT技术社区,用户可以在上面交流技术、分享代码和解决问题。 【描述】中的信息表明,该源码的作者认为它具有一定的价值,至少等同于2个积分——这是CSDN社区中用于评价和激励用户参与的一种...