 |
我个人觉的可以采用先对这52张牌进行排序然后,采用随机函数发生器产生随机数来对它进行抽取。
至于随机函数的发生器,就由你自己决定。产生的水平高低,就看你自己了。
我个人建议采用一种方法。我推荐你去随便找一本密码学的书,就有关于随机函数的发生器。可以产生较为高质量的自然的随机数了。
韩风的意见:
事先生成确实是个不错的办法,不过需要很大空间,其实也可以随机生成,建一个数组,保存1~52,每次生成一个随机数,求余取出后,减一,数组清零,继续!
色豆的意见:
循环52次,利用第N张与所产生的F(N)随机函数的结果M张,交换,即可。
相关问题:
QA000414 "在Visual C++中怎样获取随机数"
QA000544 "如何得到扑克牌的牌面图案"
相关书籍:
《密码编码学——加密方法的C与C++实现(第二版)》》
此问题由尚有强回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 其他方面, 。
|