来自  资质荣誉 2019-09-24 00:46 的文章
当前位置: 澳门太阳娱乐手机登录 > 资质荣誉 > 正文

常见简单算法,质数的判断

1、重复输入二个数,判别该数是不是是质数,输入q结束?质数的论断用艺术来落实bool IsPrime(int number)

数组:
有着的水仙花数
不无的奇数
全数数组成分求和、求乘积
阶乘
99乘法表
负有的质数之和(使用计数的秘技推断
怀有的质数(使用计数的措施决断
装有的质数(使用查找的方式推断
看清该数是或不是质数
推断该数是或不是质数(使用查找的主意
是还是不是留存玉玲珑数
具有奇数之和
怀有数字之和

图片 1图片 2

循环钦命的次数:

 1 static void Main(string[] args) 2  { 3  // 要求:重复让用户输入一个数,判断该数是否是质数,输入q结束? 质数的判断用方法来实现bool IsPrime(int number) 4  Console.WriteLine("请输入一个数:"); 5 string str = Console.ReadLine(); 6  while (str != "q") 7  { 8  int num; 9  while (!int.TryParse(str, out num))10  {11  Console.WriteLine("你刚刚输入的不是一个数字,请重新输入:");12 str = Console.ReadLine();13  if (str == "q")14  {15  return;16  }17  }18  bool result = IsPrime; //调用方法,判断是否为质数19 if 20  {21  Console.WriteLine("{0}是质数",num);22  }23  Console.WriteLine("请再输入一个数");24 str = Console.ReadLine(); 25 26  }27 28 29  Console.ReadKey();30  }31 32  public static bool IsPrime(int number)33  {34  bool result = true;35  for (int i = number - 1; i > 1; i--)36  {37  if (number% i == 0) //如果能整除,则不是质数38 {39 result = false; 40  }41  }42 43  return result; //注意return的位置,如果写在for 循环内,发生错误,不能----“返值”44 45 }
for (int i = 100; i <= 200; i++)
{
    //判断i是不是质数,如果是就输出
    int num = 0;//计数
    for (int j = 1; j <= i; j++)
    {
        if (i % j == 0)
        {
            num++; //找到了一个数能整除i,计数加1
        }
    }
    if (num == 2)
    {
        Console.WriteLine(i);// 说明i是质数,输出它
    }
}

View Code

 

遍历-查找难题

for (int i = 100; i <= 200; i++)
{
    //判断i是否是质数,这是一个查找问题
    bool isFind = false;
    for (int j = 2; j < i; j++)
    {
        if (j % i == 0)
        {
           isFind = true;
           break;
        }
    }
    if (!isFind)
    {
        Console.WriteLine(i);//没有找到,i是质数,输出它
    }
}

 

获得客商准确的输入:

int n; //用于保存用户的输入
while(true) // 用于永远无法退出这个循环,除非输入正确
{
    Console.Write("请输入一个大于0的奇数:");
    n = int.Parse(Console.ReadLine());
    if (n > 0 && n % 2 != 0)
    {
        break; //用户输入正确,结束无休止的循环
    }
    else
    {
        Console.Write("输入有误,按回车键后重新输入"); // 提示错误信息
        Console.ReadLine(); // 让程序暂停,等待用户按下回车键
        Console.Clear(); // 控制台清屏
        //后面已没有代码,将进入下一次循环
    }
}
//循环结束后,变量n中一定保存的是一个大于0的奇数,否则,他根本无法退出循环
Console.Write("你的输入是:" + n);


#region 描述内容
// 代码
#endregion

控制台清屏
Console.Write("Hello");
Console.Clear(); //当程序运行到这条语句时,控制台当前的内容会被清空
Console.Write("World")

 

修改数组对应下标的数字,若下标超出范围,要交给错误提示,并让顾客重新输入

看清该数字在数组中是或不是留存
出口数组中细小的数
出口数组中最大的数

 

换到排序

for (int i = 0; i < nums.Length - 1; i++)
{
    //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
    for (int j = i + 1; j < nums.Length; j++)
    {
        if (nums[i] > nums[j])
        {
            //交换
            int temp = nums[i];
            nums[i] = nums[j];
            nums[j] = temp;
        }
    }
}

 

冒泡排序:

for (int i = nums.Length - 1; i > 0; i--)
{
    //在 0-i 范围内,将该范围内最大的数字沉到i
    for (int j = 0; j < i; j++)
    {
        if (nums[j] > nums[j+1])
        {
            //交换
            int temp = nums[j];
            nums[j] = nums[j+1];
            nums[j+1] = temp;
        }
    }
}

 

慎选排序:

for (int i = 0; i < nums.Length - 1; i++)
{
    //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
    //1. 首先找到 i - (nums.Length-1) 范围内的最小数所在的下标
    int index = i; //先假设最小数的下标是i
    for (int j = i + 1; j < nums.Length; j++)
    {
        if (nums[j] < nums[index])
        {
            //发现了更小的数
            index = j;//记录下标
        }
    }
    //2. 然后将nums[i]和nums[index]的值交换
    int temp = nums[i];
    nums[i] = nums[index];
    nums[index] = temp;
}

 

数组实行排序
为该数组每一样赋值
若输入的尺寸不得法,则提示重新输入,不然,创建该长度的数组

本文由澳门太阳娱乐手机登录发布于 资质荣誉,转载请注明出处:常见简单算法,质数的判断

关键词: