• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

【算法】把整数n分成m份,每份k [复制链接]

1#

for 100
traceprint n分成m份(10,1,10,1,10)
next
function n分成m份(n,minm,maxm,mink,maxk)
/*
功能:把整数n分成m份,每份k
返回值:字符串:中间用","连接,分不了返回null
例子:traceprint n分成m份(10,1,10,1,10)
*/
dim sj,返回值,a,b,c
a=(maxk+(minm-1)*mink)-n
b=n-(mink+(maxm-1)*maxk)
c=maxk-mink
if a>0 and a<=c then
maxk=maxk-a
end if
if b>0 and b<=c then
mink=mink+b
end if
if a>c or b>c then
exit function
else
sj=取随机数(mink,maxk)
maxm=maxm-1
n=n-sj
end if
if n=0 then
n分成m份=sj
exit function
else
n分成m份=sj&","& n分成m份(n,minm,maxm,mink,maxk)
end if
end function
Function 取随机数(最小值, 最大值)
取随机数 = Int((最大值 - 最小值 + 1) * Rnd() + 最小值)
End Function

发新话题 回复该主题