如保生成一个固定的随机数

simon__sun 2010-05-13 04:24:12
已知时间 A 固定变化

已知时间 B 固定不变 在B的时间的增随机增加个15分钟以内到时间得到时间C

能否根据时间A 和 时间B 生成固定的时间C

例如: 时间A 18:00 时间B 16:00 得到时间C 16:01~16:15 只要时间A不变时间C就是个固定值
...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-05-13
  • 打赏
  • 举报
回复
真的是看不懂,有固定还随即
zlf19810306 2010-05-13
  • 打赏
  • 举报
回复
按楼主说的,偶的理解是这样的:

B是个固定的

A通过某种算法的到 D,D的范围是1秒~900秒。

A的值与D的值是一一对应的,B + D = C

也就是做一个1秒~86399秒,到1秒~900秒的映射。

而楼主说A是固定变化的,不知道是怎么变化。



kenshu 2010-05-13
  • 打赏
  • 举报
回复
上面说的,

"根据某一个算法,如yyyy+mm+dd+hh+mm+ss (比如这几个值各乘一个权值) 由A得到上面的n"

一般是,伪码

datatime A
datetime kkk = 1980-01-01 00:00:00 //这是一个固定的值,也可以是2000-01-01
long ll_seconds_after
a = ......

ll_seconds_after = kkk - a

n = mod(ll_seconds_after,32767) + 1

但事实上,直接从ll_seconds_after取模/*mod(ll_seconds_after,900) + 1*/ + B 就可以了,用不用RAND实际上一样,只不过你看起来好像一个“随机”一点,另一个"不随机"一点,但实际上RAND这个函数,它不是真的随机的。
kenshu 2010-05-13
  • 打赏
  • 举报
回复
留意,上面的随机种子,N不能为0.N=0时,以系统时间为随机种子.

同时,按这个方法,最多只有32767个值//不过你要求在900个值以内,可以满足.
kenshu 2010-05-13
  • 打赏
  • 举报
回复
//Randomize ( n )

N固定,rand出来的值的序列固定。

根据某一个算法,如yyyy+mm+dd+hh+mm+ss (比如这几个值各乘一个权值) 由A得到上面的n

long i

Randomize ( n )

i = rand(60 * 15) - 1

I就是你随机要加的秒数.
酒尽雪满天 2010-05-13
  • 打赏
  • 举报
回复
看的我迷茫。
应该可以实现,让我想想。
xlq_link 2010-05-13
  • 打赏
  • 举报
回复
LZ可能描述得还不够精确~~
gui41021 2010-05-13
  • 打赏
  • 举报
回复
A变时 C要变么?

貌似C = B + 15 跟A没关系啊

new4everlau 2010-05-13
  • 打赏
  • 举报
回复
这个问题比较怪:看来不记录这个变化数值是不行了;
如果有2条记录,A,B数值都一样,是不是C也一样啊?
如果一样那么A需要有个和【1,15】的对照表了,随机是随不出来了;

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧