随机打印1-100的数,每个只能打印一次
来源:互联网 发布:和彩云是什么软件 编辑:程序博客网 时间:2024/06/05 02:01
貌似是一道微软笔试题:
问题的难点在于随机打,但是要求每次随机不能有重复,倘若有随机函数
random(int a, int b),代表随机打印a到b之间的数.
我们可以考虑偌随机出来的不是直接是1-100的数,而是数组的下标是否可以实现随机数不重复。
例如:
int array[100],a[0] 到a[99]分别是1-100
random(0,99),得到一个随机数x,打印出a[x],然后将a[x]与a[99]交换
下次随机函数random(0,98),这样无论这次随机值是多少,a[x]都不在可得值的范围内了,如此循环99次即可
代码如下:
void randomPrint()
{
int array[100];
for(int i = 0; i < 100; i++)
array[i] = i + 1;
for( i = 99; i > 0; i--)
{
int x = rand() % (i + 1);
swap(array, x, i);
cout << array[i] << "; ";
}
}
原文链接:http://kuapig.ycool.com/post.2843379.html
- 随机打印1-100的数,每个只能打印一次
- 笔试面试之 随机打印1-100的数,每次只可以打印一次
- 3个线程每个线程只能打印自己的名字,在屏幕上顺序打印 ABC,打印10次
- 输入n,打印1到n之间的每个数,考虑整数溢出
- 随机打印1-100要求不重复
- 有三个线程名字分别是A、B、C,每个线程只能打印自己的名字,在屏幕上顺序打印 ABC,打印10次。
- SAP中如何控制某个report一次只能打印一份
- Java 随机给二维数组赋值,打印输出每个元素
- 二进制数的打印
- 随机生成 50 个数字(整数),每个数字的范围是[10, 50],统计每个数字出现的次数以及 出现次数最多的数字与它的个数,最后将每个数字及其出现次数打印出来,如果某个数 字出现次数为 0,则不要打印
- 三个Java多线程循环打印递增的数字,每个线程打印5个数值,打印周期1-75
- 实现交替打印1倒100之间的数
- 打印100-999以内的水仙花数
- 从0到100随机抽10个不同的数,然后放入数组中。再按顺序打印出来
- 打印从1到n的数
- 打印从1到N的数
- 打印1到N的最大数
- java代码实现从自然数1到1000中随机取900个不重复的数并打印
- VC中控件字体与文本颜色的设置
- 大陆IC何以难迈“一代拳王”这道坎
- 解析大端模式和小端模式
- PowerPC交叉编译工具链的制作
- 蔡明介出山难改“三强争霸”格局形成
- 随机打印1-100的数,每个只能打印一次
- linux中编译静态库(.a)和动态库(.so)的基本方法
- VC中include上级目录。
- 报表的预览打印 jxl包
- 设置、读取联络人头像 ---- save UIImage to ABAddressBook
- 联发科变相全资收购苏州傲视通
- 1 构建SourceNode
- 联发科为何否认收购傲视通?
- DirectShow编程(1)- DirectShow介绍