zoukankan      html  css  js  c++  java
  • 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10

    这是一道考察发散性思维的面试题,最重要的是思路:
    1.假设rand7()函数是随机17的自然数,那么利用随机16的自然数我们可以得到奇偶概率1/2
    2.利用rand7()函数随机1~5自然数,之前为偶数的话+5输出,否则直接输出

    下面代码便是解题答案:

    using System;
    
    namespace RandomAPP
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                for (int i = 0; i < 100; i++)
                {
                    Console.WriteLine(new Random().Random10());
                    System.Threading.Thread.Sleep(1000);
                }
                Console.ReadKey();
    
            }
        }
    
        class Random
        {
            /// <summary>
            ///  1到7随机自然数
            /// </summary>
            /// <returns>返回1-7随机自然数</returns>
            public int Random7()
            {
                return new System.Random().Next(1, 7);
            }
    
            /// <summary>
            ///  1到10随机自然数
            /// </summary>
            /// <returns>返回1-10随机自然数</returns>
            public int Random10()
            {
                int i = 0;
                while (true)
                {
                    i = Random7();
                    if (i != 7)
                    {
                        break;
                    }
                }
    
                System.Threading.Thread.Sleep(1000);
    
                int j = 0;
                while (true)
                {
                    j = Random7();
                    if (j < 6)
                    {
                        break;
                    }
                }
    
                if (i % 2 == 0)
                {
                    return j + 5;
                }
                else
                {
                    return j;
                }
    
    
    
    
            }
    
    
    
    
        }
    
    
    }
    
    
    
  • 相关阅读:
    Python13_安装、解释器
    Python12_关于文件概念的讨论与序列化
    Python11_文件的读写
    which | whereis |locate |find
    tail命令 | head命令
    cat 命令|more命令|less命令
    数据库模型设计,第一范式、第二范式、第三范式简单例子理解
    json
    正则表达式
    SFTP相关命令
  • 原文地址:https://www.cnblogs.com/ButterflyEffect/p/12002516.html
Copyright © 2011-2022 走看看