N张牌和随机函数,设计一个洗牌算法
来源:互联网 发布:数据库服务 编辑:程序博客网 时间:2024/05/16 08:57
给定N张扑克牌和一个随机函数,设计一个洗牌算法
本题初看,不知何意。看了讨论才明白多刷题的重要性。倒是不难,关键是知道题目的意思。
题意理解:有一个随机函数发生器,能够产生
1−N 之间的随机数。以扑克牌为例,N=54 。洗牌算法要保证放置的第一张牌是54种可能,放置第2张牌时是53种可能…以此类推。直至全部洗完。
// shuffle_card.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <time.h>using namespace std;void swap(int &a, int &b){ int tmp = a; a = b; b = tmp;}void shuffle(int a[], int n) { for (int i = 0; i < n; i++) { //from n-i get rand int j = rand() % (n - i) + i; swap(a[i], a[j]); }}int main(){ //rand seed srand((unsigned)time(nullptr)); int n = 9; int a[] = {1,2,3,4,5,6,7,8,9}; shuffle(a, n); for (int i = 0; i < n; i++) cout << a[i] << endl; return 0;}
阅读全文
0 0
- N张牌和随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- 设计一个随机洗牌的算法
- 写一个随机洗牌函数
- 随机洗牌算法和随机选择算法
- 随机取样和洗牌算法
- 一天一个算法: 随机洗牌算法
- 洗牌算法:随机打乱一个数组
- 如何写一个随机洗牌函数
- C++全局和局部随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- 随机洗牌算法
- 数据结构——顺序表
- sqoop
- 0x80070091-Win10系统还原时的救命办法
- json格式的数据在ajax中对应的action数据
- 集合操作工具类的简单说明
- N张牌和随机函数,设计一个洗牌算法
- 02期:jQuery最佳实践(包含常见优化写法)
- Android啓動其他app的Activity
- c++哥德巴赫猜想
- 从上往下打印二叉树
- JS children和childNodes的区别
- caffe学习(四):py-faster-rcnn配置,运行测试程序(Ubuntu)
- 基于注解的SpringMVC简单介绍
- js获取当前时间日期