//编程的时候,有三条任选执行路径,都会显示一些图片,比如路径1显示的图片是一个人,路径2显示的是两个人,路径3显示任意人数的图片,要求每次进入该页面都不能重复初始的那张图片。 于是我想到了 运用随机生成数来解决。 网上搜搜 果然好多方法,有一点是很重要的,随机生成,不能保证是否有重复的,那么用户体验肯定不好,为了用户果断应该选择“不重复的随机生成数的方法”
以下是借鉴别人的好方法 留着备用。 、获取一个随机整数范围在:[,)包括0,不包括100 int x = arc4random() % ; 、 获取一个随机数范围在:[,),包括500,不包括1000 int y = (arc4random() % ) + ; /***********************/ //生成0~9 标记index 的数
-(NSMutableArray *)getRandomNumber:(NSArray * )temp
{
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithArray:temp];
NSMutableArray *resultArray = [[NSMutableArray alloc] init];
int i;
int count = temp.count;
NSLog(@"count:%d",count);
for (i = ; i < count; i ++) {
int index = arc4random() % (count - i);
[resultArray addObject:[tempArray objectAtIndex:index]];
NSLog(@"index:%d,xx:%@",index,[tempArray objectAtIndex:index]);
[tempArray removeObjectAtIndex:index];
}
NSLog(@"resultArray is %@",resultArray);
return resultArray;
} 调用: NSArray* arrary_ScrollView_Single=[[NSArray alloc]initWithObjects:@"",@"",@"",@"",@"",@"",@"",@"",@"",nil]; NSMutableArray * arrary_moment=[selfgetRandomNumber:arrary_ScrollView_Single]; NSLog(@"%@",arrary_moment); resultArray is ( , , , , , , , , ) //原理
int index = arc4random() % (count - i);
//每取一个。减少一个。比如开始是从0~8 取一个后就少一个。
[tempArray removeObjectAtIndex:index];
//最重新的就是这句。它是把array 里的已取到的元素删掉,

iOS 生成随机数 重复 不重复的更多相关文章

  1. sql 生成随机数 以及不重复随机数

    背景:想在表中随机取10条记录,让取出来的数据不重复(表中必须是有个递增列,且递增从1开始间隔为1).  数据表: CREATE TABLE testable ( id INT  IDENTITY(1 ...

  2. java面试--(生成随机数,获取重复次数最多,并且数是最大的一个,打印出来)

    import java.util.*; public class MaxRandom { public static void main(String[] args){ int[] num = new ...

  3. iOS 生成随机数

    arc4random 1.获取一个随机整数范围在:[0,100)包括0,不包括100 int x = arc4random() % 100; 2.  获取一个随机数范围在:[500,1000],包括5 ...

  4. PHP函数:生成N个不重复的随机数

    思路:将生成的随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数. 程序: <?php /* * array unique_rand( int $min, int $max, ...

  5. 生成N个不重复的随机数(转)

    有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次.前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空.那么你会如何填补这个漏子? 当然向上级反映情况.但是 ...

  6. PHP CodeBase: 生成N个不重复的随机数

    有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次.前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空.那么你会如何填补这个漏子? <?php /* ...

  7. java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串

    java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 package com.zdz.test; im ...

  8. C# Random循环生成随机数重复问题解决方案

    C# Random循环生成随机数重复问题解决方案1.当我们通过Random生成随机数时,习惯的写法如下: int a=new Random().Next(0,100); 然后生成一个数据数没有任何问题 ...

  9. 使用C++生成1-33中的6个随机数,无重复

    生成1-33中的6个随机数,无重复 ------------------------------------------------------------------------   方法1.每生成 ...

随机推荐

  1. vs常用插件之javsscript插件

    1.JSEnhancements 折叠JS和CSS代码 http://visualstudiogallery.msdn.microsoft.com/0696ad60-1c68-4b2a-9646-4b ...

  2. [原创]Devexpress XtraReports 系列 2 创建表格报表

    昨天发表了Devexpress XtraReports系列开篇,今天我们继续. 今天的主题是创建表格报表. 首先我们来看看最后实现的效果.Demo最后附上. 接下来开始讲解如何一步一步做出这个报表: ...

  3. E3-1230和E3-1230 V2有多神?

    最近追E3-1230,枪E3-1230的人那叫一个多啊,都被捧成神了,我也来说说对E3-1230的看法.同档次的装机方案,我更倾向i5 2320/2500K/3570K. 首 先比较两个U的规格吧.E ...

  4. 《面向对象程序设计》第二次作业(1)(A+B问题)

    作业记录: 问题描述与代码已上传github仓库object-oriented文件夹下 题目一览 Calculate a + b and output the sum in standard form ...

  5. POJ1201Intervals(差分约束系统)

    昨天看了下差分约数系统的含义,其实就是如果有n个变量在m个形如aj-ai>=bk条件下,求解的此不等式的方法. 而这种不等式的解法其实就是转化为图论的最小路的算法求解的.我们将上面的不等式边形后 ...

  6. C#取得当前目录 转载

    /获取包含清单的已加载文件的路径或 UNC 位置.         public static string sApplicationPath = Assembly.GetExecutingAssem ...

  7. Excel合并单元格数据

    1.=A1&B1 2.=CONCATENATE(A1,B1)

  8. mysql中key 、primary key 、unique key 与index区别

    一.key与primary key区别 CREATE TABLE wh_logrecord ( logrecord_id ) NOT NULL auto_increment, ) default NU ...

  9. Spring aop expression

    任意公共方法的执行:execution(public * *(..))任何一个名字以“set”开始的方法的执行:execution(* set*(..))AccountService接口定义的任意方法 ...

  10. 初始化css代码需要注意的

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-05-06) 写在所有css代码之前,对网页中所有同类元素的一个样式规则代码或者一些基础性公用元素的样式规则代码. 1.空白 ...