找回密码
 加入
搜索
查看: 1663|回复: 9

求一个数值最佳行列数的算法,请大侠救急

  [复制链接]
发表于 2010-1-11 00:57:06 | 显示全部楼层 |阅读模式
本帖最后由 xtanxin 于 2010-1-11 02:26 编辑

比如:
10 最佳行是4*3
20 =5*4
22=6*4

应该有不至于做一遍乘法口诀的算法吧.
发表于 2010-1-11 01:31:20 | 显示全部楼层
没看懂LZ的意思
发表于 2010-1-11 01:55:09 | 显示全部楼层
本帖最后由 afan 于 2010-1-11 01:57 编辑

回复 1# xtanxin


    是不是这意思?
MsgBox(0, 10, hl(10))
MsgBox(0, 20, hl(20))
MsgBox(0, 22, hl(22))

Func hl($ns)
        $b = Sqrt($ns)
        If StringIsInt($b) Then
                Return $b & '*' & $b
        Else
                $b1 = StringRegExpReplace($b, '\..+', '')
                If Round($b) > $b Then
                        Return $b1 + 2 & '*' & $b1
                Else
                        Return $b1 + 1 & '*' & $b1
                EndIf
        EndIf
EndFunc   ;==>hl
 楼主| 发表于 2010-1-11 02:25:51 | 显示全部楼层
对,是这个意思,
我也开始试过用平方根,四舍五入,但是,有偏差.数字越大就偏差越大,算晕了.没有办法了,到论坛求助了.

在做了一个自动的窗口.
根据INI里面的字段数量作为窗口的页框数量,字段里面的项目数量作为页框里面的按钮数量.数值为按钮的shell参数.

根据INI内容,就可以自动调节大小.这个是最后关键环节了.算晕了.
发表于 2010-1-11 04:29:47 | 显示全部楼层
楼主把问题说的再明白点,实在是有些不大明白楼主到底要什么结果
发表于 2010-1-11 04:59:35 | 显示全部楼层
楼主的意思可能是GUI上的按钮根据配置文件来定义大小和数量吧!
发表于 2010-1-11 09:12:47 | 显示全部楼层
两数定积求最小和?
 楼主| 发表于 2010-1-11 10:42:10 | 显示全部楼层
对,ceoguang 就是我要达到的目的,但是不同于常规,参数是在INI里面设定的,由于这个菜单是个插件或着是个安装程序管理器.因此
1.首先达到根据INI里面的分类字段定义tab页框,在根据里面的项目决定页框里面的按钮数量,
2.在达到,根据里面的子目录和目录里面的文件自动搜索.产生合理的窗口.

过程又延伸出旁外2个问题,我另开话题请教大家.
1. 在增加皮肤后,第一个页框里面的按钮画布出来,鼠标移动过去才显示,换过皮肤无效.
2. 按钮如何实现上面是图标,下面是文字的效果?是另一个控件还是需要在做特殊处理?
发表于 2010-1-11 16:22:51 | 显示全部楼层
果然能“猜透”LZ意思的人不多,看来我是半仙……

……

p.s,做这功能还是定下列数比较好,不然,会很难看……
还有,超出可显示范围的处理,滚动条?
 楼主| 发表于 2010-1-11 20:17:07 | 显示全部楼层
还有,超出可显示范围的处理,滚动条?

没有,
我的窗口和tabsheet的宽和高,都是依据行列调整,行列是依据分类中最多的那个按钮调整.

客户机有10个子目录,每个子目录就是一个TABSHEET的页框,
二级目录下面的名字就是页框里面按钮的名字,执行文件是和页框同名的.exe,或者是唯一的.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2025-1-12 08:45 , Processed in 0.071874 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表