精华内容
下载资源
问答
  • 计算N个数字中取K个数字的结果集 一般情况下,如果N个数字中抽取K个数字,使用下列公式得到结果 计算公式: [ N * (N-1)* (N-2) * ... * ( N -K + 1) ] / ( 1*2*3*...*K) 例,1~50之间的数字中抽取6...

    计算从N个数字中取K个数字的结果集


    一般情况下,如果从N个数字中抽取K个数字,使用下列公式得到结果

    计算公式:

    [ N * (N-1)* (N-2) * ... * ( N -K + 1) ] / ( 1*2*3*...*K)

    例,从1~50之间的数字中抽取6个数字来抽奖,那么可能的结果会是:

    ( 50 * 49 * 48 * 47 * 46 * 45 ) / (1 * 2 * 3 * 4 * 5 * 6  ) 


    展开全文
  • Java语言代码编写:0-100不重复的取得3个数字100次,计算所有数字的和的平均
  • 10个数字中取5数的所有组合

    千次阅读 2006-05-12 14:13:00
    哈,申请了这blog好久也没有在上面写东西(太懒),今天回答了一问题觉得字挺多的,搬到这里来。原贴地址:...可以模拟手算的算法:先简化问题,2/3问题开始先排序1.2.3取出1然后还需要

    哈,申请了这个blog好久也没有在上面写东西(太懒),今天回答了一个问题觉得字挺多的,搬到这里来。

    原贴地址:http://community.csdn.net/Expert/topic/4746/4746331.xml?temp=.4790308

    哈这个问题有点意思,我自认为小学的时候数学还可以哈哈,来讨论一下。
    可以模拟手算的算法:
    先简化问题,从2/3问题开始
    先排序1.2.3
    取出1然后还需要再取一个数字可以是2.可以是3这样我们得到[1.2][1.3]所有含有1的二元组已经取到。
    然后我们列举所有含2的二元组,取出2还要再取一个数字,注意这里有一个要点我们只可以向后取不可以向前取,这是为了不产生重复的二元组,理解这个要点对解决这个问题很重要。所以这里只可以取3得到[2.3]
    下面我们取所有含有3的组合,取出3根据向后取的原则,我们发现已经没有可以取到的数字了。这样这个问题就结束了我们得到结果[1.2][1.3][2.3]
    下面我们把这个问题扩展一下变成3/4问题
    排序:1.2.3.4
    先列举含有1的三元组,取出1,这里另外一个要点来了,我们的任务转化成为要在2.3.4中取出所有的2元组然后和1组成三元组这样这里转化为2/3问题,之后我们取所有含2的三元组,注意只能向后取的原则,问题转化为在3.4中取2元组的2/2问题

    看到这里我们应该可以理解手算的操作方法了。
    要把这个操作改写成计算机算法并不复杂。
    result_array fn(source_array,start,end,n)
    实现这样一个递归函数就可以了
    result_array 是一个list内容是所有要求的n元组,source_array是原始的元素集合,start,end表明了区间,n是n元组的n,这样做是为了节省空间,免得每次递归都要复制出一个array作为取值元素集合。
    方法里面的内容:
    哈哈大家补充,不复杂的。
    基本上是一个循环
    先判断n是否=1 是就把所有元素放到一个list中返回,如果不是的话
    对每一个元素如果他右面的元素>=n-1那么就对右面的元素调用fn(source_array,当前位置+1,末尾,n-1)那返回结果和元素组合放进一个list中,如果小于n-1了那么跳出循环返回这个list。
    就这样了。

    展开全文
  • python四个数中取三个数组成互不相同且没有重复数字的三位数 问:有1,2,3,4四个数字,能够组成多少个互不相同而且无重复数字的三位数?都是多少? 最简单就是下面的这种: nums=[] for i in range(1,5): for j ...

    python四个数中取三个数组成互不相同且没有重复数字的三位数

    问:有1,2,3,4四个数字,能够组成多少个互不相同而且无重复数字的三位数?都是多少?

    最简单就是下面的这种:

    nums=[]
     for i in range(1,5):
          for j in range(1,5):
               for k in range(1,5):
                 if i!=j and i!=k and j!=k:
                     num=i*100+j*10+k
                     if num not in nums:
                         nums.append(num)
     print(nums)
     
    

    输出结果:

    [123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
    

    当然可以加一个count来计数:

    展开全文
  • M个数字中随机N数(不重复)

    千次阅读 2017-08-29 15:51:23
    M个数字中随机N数,最直接的想法把已经取得的随机数存储起来, 每次随机数, 在存储的随机数如果能够找到,就要重新再, 直到到足够数量的随机数。 这方法的好处是容易理解,容易实现。 但它...

    方法1:

    要从M个数字中随机取N个数,最直接的想法把已经取得的随机数存储起来,

    每次随机取一个数,

    在存储的随机数中如果能够找到,就要重新再取,

    直到取到足够数量的随机数。

    这个方法的好处是容易理解,容易实现。

    但它的时间性能是O(N2),因为存在一个2重循环。如果样本较多,时间会急剧增加。


    方法2:

    在外层循环难以避免的情况下,把内层循环换成固定时间的算法。代码如下:

    即:每次生成随机数后,会进行一次交换。使得已生成随机数的序号与未生成随机数的序号分离开来。

    而序号与数值仍然保持一一对应。代码如下:

        public static void getRandom(int[] buffer) {
            final int n = buffer.length;
            for(int ii = 0;ii < n;ii ++) {
                buffer[ii] = ii;
            }
    
            Random random = new Random();
            final int half = n/2;
            for(int jj = 0;jj < half;jj ++) {
                int pos = random.nextInt(n - jj) + jj;
                int tmp = buffer[jj];
                buffer[jj] = buffer[pos];
                buffer[pos] = tmp;
            }
        }




    展开全文
  • 此脚本可以1、2、3、4四个数字中取三个不重复的数字组成三位数。 但,偶然一次,将echo $num写至if语句外,发现结果错误,内容如下 #!/bin/bash for a in {1..4} do for b in {1..4} do for c in {1..4} ...
  • Python实现:有四个数字1、2、3、4,能组成多少互不相同且无重复数字位数?各是多少? 分析 思想:思路比较容易,只需要逐个遍历。遍历的时候注意十位数字不能与百位数字相同,各位数字不能与前两者相同即可...
  • java一亿数字取前1003秒钟获取)

    千次下载 热门讨论 2012-05-04 10:36:30
    java一亿数字取前1003秒钟获取) 速度非常快。 发出来给大家分享
  • 0,4,9,21上面四个数字中选出三个,一共有多少组合?不重复的 0,4,9和0,9,4和4,9,0都算相同的 gfx3.2-狼人杀(228446613) 15:04:39你们可以这么想 如果说 取出的数 前后顺序无所谓的话 四个里面取3个 就相当于 ...
  • package test; import java.util.Random; public class Test7 {  public static int extractNumber = 4; ... public static int arraysSize = 5;... public static void main(String[] args){ ... int[] arrays
  • @Test public void stringTest(){ ... //将数字类型字符串转换成数组,遍历取值 String errorState = "123456789"; String[] splitMin = errorState.replaceAll("[^1-9]", ",").split(","); String[]...
  • with open("2.txt","r") as f: sum=0 for line in f:#遍历每一... wordlist=line.split()#将每一行的数字分开放在列表 for a in wordlist:#遍历每一行的数字 number=int(a) sum=sum+number#求和 print("the ...
  • js将密码的每个数字加五,超过了十取个位数,然后反转(编写解密算法)![图片](https://img-ask.csdn.net/upload/201610/09/1475980677_651078.jpg)
  • Android字符串的第一个数字

    千次阅读 2017-09-08 16:32:24
    项目需要拿字符串的第一个数字,找到了如下方法,特此记录 String wind = "3级"; Pattern p = Pattern.compile("\\d+"); Matcher m = p.matcher(wind); m.find(); int currentWind =Integer.parseInt(m.group())...
  • 在0-100 随机20个数字

    千次阅读 2019-06-16 10:44:35
    import random #在0-100 随机20个数字 a = [random.randint(0, 100) for i in range(20)] print(a) weight_list_earth = [float(weight) + w*0.5 for w in range(10) ] weight_list_moon = [w * 0.165 for w...
  • 每日算法(四十二)-java输入两个数字a、b,随后一行输入a个数字a个数字中选取b个...循环遍历每次取三个数,分别是i,i+1,i+2,当超过长度就取模,求和之后进行素数判断 这里判断素数是将小于2,2,能被2整除的先...
  • 最后一个数字 加上中间第2-4个数字 最后加上第一个数字,然后alert 比如用户输入 12345 你要弹出显示的是52341 $(document).ready(function(){  $('#t1').on('keyup', function(){  this.value = ...
  • 1-9九个数,其中三个不同的数组成的三位数最大是987,最小是123。 因为123>121(=11*11),144=12*12,4出现两次不符合条件,169=13*13,符合条件。所以一个数的平方最小是169,那么这个数是13。同理,得出大概...
  • 游戏开发过程,会遇到比如:给定的10个道具随机生成三个给用户,要求生成的道具相互之间不重复。一般情况下,我们会将道具存储在一个集合,然后生成一个随机数,使用生成的随机数作为集合的索引,集合...
  • 任意一个数字位数 Java

    千次阅读 2018-03-16 15:39:06
    任意一个数字位数 Java 话不多说,直接上代码: Scanner fin=new Scanner(System.in); int i=fin.nextInt(); //输入任意一个数字 int m; while(m&gt;9){ m=i%10; //所报数的位数 } System.out....
  • 如果左边起取出1个数字,需要能被1整除,取出两个数字组成的数能被2整除,取出三个数字组成的数能被3整除,依次类推。。。每次数都是左边。问,这个数是什么?给出求解此数的算法。   代码如下:...
  • 在第一份工作结束的时候,还是java小白,找工作的时候去面试,碰到一算法题:个数字中选取八个数字排列,重复算一,一共有多少种可能?当时想了半天也没想出来,虽然是数学上的排列组合算法,但是还是想...
  • 使用isDigit方法,项目需要判断一字符串是否有数字,然后如果有的话出来第一个数字,用这个数字来继续参与下边的工作 定义了一方法 //判断是否含有数字.-1表示没有数字,有数字表示几 public ...
  • 有n个数字的随机数列取出k个数字,使其和等于m。求出所有可能的k个数字的组合。这在原始的穷举上面能做什么改进呢,求大神点拨。
  • # define MAXN 100 int a[MAXN]; //定位数组,用于指示选取元素集合数组的位置,选取元素集合数组0...//指示定位数组哪个成员正在移进 unsigned int count=0; //初始化定位数组,0 起始的位置 ,开始的选择必是位置
  • java个数字的各位上的数字

    千次阅读 2019-02-20 20:25:55
    位 "+ (n % 10)); System.out.println("十位 "+ (n % 100)/10); System.out.println("百位 "+ (n % 1000)/100); System.out.println("千位 "+ (n /1000));

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 763,483
精华内容 305,393
关键字:

从9个数字中取3个数字