zoukankan      html  css  js  c++  java
  • php实现 明明的随机数

    php实现 明明的随机数

    一、总结

    一句话总结:

    1、asort是干嘛的?

    asort — 对数组进行排序并保持索引关系

    2、从控制台取数据怎么取?

    trim(fgets(STDIN))

    3、多组测试案例怎么弄?

    while ($count =trim(fgets(STDIN)))

    二、php实现 明明的随机数

    1、题目描述

    题目描述

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

    Input Param 

         n               输入随机数的个数     

     inputArray      n个随机整数组成的数组 

         

    Return Value

         OutputArray    输出处理后的随机整数


    注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。


     

    输入描述:

    输入多行,先输入随机整数的个数,再输入相应个数的整数

    输出描述:

    返回多行,处理后的结果

    示例1

    输入

    复制
    11
    10
    20
    40
    32
    67
    40
    20
    89
    300
    400
    15
    

    输出

    复制
    10
    15
    20
    32
    40
    67
    89
    300
    400

    2、代码

     1 <?php
     2  
     3 while ($count =trim(fgets(STDIN)))
     4 {
     5     $arr = array();
     6  
     7     while ($count--)
     8     {
     9         $inData=trim(fgets(STDIN));
    10         $arr[$inData] = $inData;
    11     }
    12     asort($arr);
    13     foreach ($arr as $a) {
    14         echo $a."
    ";
    15     }
    16 }

    三、扩展

    Example #1 asort() 例子
    
    <?php
    $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
    asort($fruits);
    foreach ($fruits as $key => $val) {
        echo "$key = $val
    ";
    }
    ?>
    以上例程会输出:
    
    c = apple
    b = banana
    d = lemon
    a = orange
    fruits 被按照字母顺序排序,并且单元的索引关系不变。

    四、计数排序

     1 #include <iostream>
     2 using namespace std;
     3 int main() {
     4     int N, n;
     5     while (cin >> N) {
     6         int a[1001] = { 0 };
     7         while (N--) {
     8             cin >> n;
     9             a[n] = 1;
    10         }
    11         for (int i = 0; i < 1001; i++)
    12             if (a[i])
    13                 cout << i << endl;
    14     }
    15     return 0;
    16 }//阿西吧
  • 相关阅读:
    Redis 发布/订阅模式
    Task
    并发入门
    ThreadPool线程池
    C# 5.0 CallerMemberName CallerFilePath CallerLineNumber获取调用方法名称,路径,行号
    信号量
    互斥体
    锁机制
    .net remoting(1)简单例子
    C#并行编程-并发集合
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9176923.html
Copyright © 2011-2022 走看看