|
5精币
我想实现一个算法
比如我给出一个数字1981.33333333
然后我要把这组数字用算法分开,并拼接成字符串
0:0.333|0.366:0.699|0.732:1.065|........|1981.0:1981.333
像这样
大概算法就是这样的
我给出几个数字,用这几个数字来计算,可能我表达不太清楚。我尽量简单说。我脑子现在一片混乱。
第一个数字,1983,这是总帧数
第二个数,30,这是速率
第三个数,66.1,这是总时长秒数
第四个数,10,这是间隔多少帧数
然后还要算一个1帧是多少秒,因为1秒=30速率,所以1速率就是1000/30/1000=0.033333,
现在是这样的。比如第一个0:0.333,这个0.333是10帧的秒数,这个0.333是怎么算出来的呢?这个是用的下面是1帧为0.0333秒,那么10帧就是0.03333*10,就是0.333秒
0:0.333|0.366:0.699|0.732:1.065|........|1981.0:1981.333,第一组数求出来了,现在看第二组数,0.366是怎么算出来的。用第一组数的0.333+0.033就求出来0.366了,0.366+0.333,就算出来0.699.
然后第三组数,再间隔一个0.033,求第三组第一个小数为0.699+0.033=0.732,然后再间隔10帧0.333,就是0.732+0.333=1.065,这样以此类推,最后计算到1983最后一个数字就行了。
如果说最后输出的数比1983大,那么就用1983结束,不要超过1983就行了。
这样的算法怎么实现。请各位大佬给个例子吧。研究1天了
再说一下,就是0:0.333,冒号左右要间隔0.333,然后0:0.333|0.366,|号左右要间隔0.033。
最好是:左右用随机的,比如随机7.000-9.999中间任意小数都可以随机计算。不要固定为10,最后加到1983结束,退出循环就行了
|
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|