VB整好的话就追加100分啦 一个程序的编程 对我初学者来说很难 追加100分 困扰我很久了

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:07:51
求做两程序,要求
如输入aaaa 结果显示 4a
如输入abababab 结果显示4(ab)
如输入 aaaaabab 结果则显示 4a2(ab)
如输入 aababaababaababaabab 结果显示 4(a2(ab)) 遇到多重括号与此类推。
要求程序为function

其中 a b 其实只是个例子
真正的是 Asc("a") To Asc("z")

关于追加分的问题 请大家不用担心 我可以重新提问解决的 。
说错 是一个程序 不是两个程序

有其他程序办法的话 只要VB能够调用就可以。
aaaaababababaaaaababaababaababaababaababaababaababaababaabab=4a 4(ab)4a2(ab)4(a(2ab) (这里没有空格) 这是我的一个例子

我再补充一点吧,其实这个程序的重复单元是可以知道的 并且重复单元我已经按照重复单元分解了后字符的个数从多到少 列入数组 排列出来了 数组名称为 括号循环() 数组个数为 Ubound(括号循环)
如 4(ab) 其字符串个数就是8 3(abc) 字符串个数是9 这样在数组里 3(abc)就排在4(ab)之前
3(abc)完全拆解后就是 abcabcabc
就这些
本人这几天也整了个程序
前段还好,后段就错了
如果可以的话,请百度联系. 我可以把我做的发过来;以作为参考

再补充一点好啦

研究了半天,没研究出来,这个是用函数是吧,如果你弄出来了,可以告诉我一声么

思路是有了,不过代码还没写出来.

先查找s长度一半的子串有没有重复

再找s长度一半-1的子串有没有重复.

依次下去.

如果找到将s分为重复之前的子串,重复部分,和重复部分后面的子串,三部分.

再次用如此算法对这三个部分查找.

不过还有一些小细节要实现... 

补充的部分有点错误

应该是先找最大重复子串,再找其次最大重复子串.

======================================

实现了一点,还有点细节要完

当我任意给出一个字符串,且长度很长很长,让你寻找其中的规律性,将是很难的。

你要把你的例子写成通用代码,适用于各种情况,事实上就是回答了我的问题。

所以你的问题并非写VB代码的问题,而是一个数学问