zoukankan      html  css  js  c++  java
  • c#学习之数组 36选7随机数不重复/折半取余

    内容:

    数组的定义是:数据类型[] 变量名=new 数据类型[n]  变量名.Length表示数组数值长度;

    36选7随机数不重复
    static
    void Main(string[] args) { int[] a = new int[7];//1)先创建一维数组 Random rand = new Random();//2)定义随机电脑生成随机数; for (int i = 0; i < 7; i++)//3)进行筛分将重复的数字去掉 { int n = rand.Next(36);//随机生成36个0-35之间的数字; n++;//显示1-36 bool cunZai = false;//做标记既可以是bool数字也可以; for (int j = 0; j < a.Length; j++)//a.Length的意思是数组的长度(数值) { if (a[j] == n) { cunZai = true;//数组中有相等的就跳过; break; } } //存在不存在?不存在的话就放进a数组中,存在的话,就重新生成 if (cunZai == false)// { a[i] = n;//n带入数组 } else { i--;//因为不符合重新再进行随机数的运算,在这之前“i++”需要自减; } } //显示 for (int i = 0; i < a.Length; i++) { Console.Write(a[i] + " ");输出数字 } }
    折半取余:
            
    staticvoid Main33(string[] args)
            {
                //查找
                int[] a = new int[8] { 2, 9, 11, 17, 21, 25, 33, 40 };
                //输入要找的数
                int find = Convert.ToInt32(Console.ReadLine());
    
                //下标
                int kaiShi=0, jieShu=a.Length-1, zhongJian;
                for (; ; )
                {
                    zhongJian = (kaiShi + jieShu) / 2;
                    if (a[zhongJian] == find)
                    {
                        Console.WriteLine("找到啦");
                        break;
                    }
                    else
                    {
                        if (find > a[zhongJian])
                        {
                            kaiShi = zhongJian + 1;
                        }
                        else
                        {
                            jieShu = zhongJian - 1;
                        }
    
                        //
                        if (jieShu < kaiShi)
                        {
                            Console.WriteLine("没找到");
                            break;
                        }
                    }
                }
            }
    查找数字并确定位置        static void Main2(string[] args)
            {
                //查找
                int[] a = new int[8] { 2, 9, 11, 17, 21, 25, 33, 40 };
                //输入要找的数
                int find = Convert.ToInt32(Console.ReadLine());
    
                //查找
                bool found = false;
                for (int i = 0; i <= a.Length - 1; i++)
                {
                    if (a[i] == find)
                    {
                        //输出
                        found = true;
                        Console.WriteLine("找到啦,是第{0}个数", i + 1);
                        break;
                    }
                }
                
                //输出找到还还是没有找到
                if (found == false)
                {
                    Console.WriteLine("没有找到");
                }
                
    
            }
  • 相关阅读:
    bzoj3996
    bzoj3157 3516
    bzoj1937
    bzoj1532
    bzoj3572
    bzoj1453
    bzoj3205
    bzoj2595
    关于高斯消元解决xor问题的总结
    linux查找和替换命令
  • 原文地址:https://www.cnblogs.com/koker/p/5425437.html
Copyright © 2011-2022 走看看