质数是大于 1 的整数,只能是数字 1 及其自身的因数,即数字“n”只能被 1 或“n”本身整除。一些众所周知的素数是 2、3、5、7、9、11、13、17、19、23 等。C# 程序在素数主题中可用于查找给定的number 是否为素数,以及用于显示给定范围内的所有素数。这可以在 C# 程序中通过使用各种循环和条件语句定义逻辑来实现,例如 for 循环、if 条件、if else 条件、while 循环等。
让我们尝试通过以下编程示例来概念化素数。
C# 程序打印 1 到 100 之间的所有素数列表。
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) // this function defines the entry point { bool Prime = true; Console.WriteLine("Prime Numbers between 1 to 100 : "); for (int a = 2; a <= 100; a++) //upper limit and lower limit are defined { for (int b = 2; b <= 100; b++)// base logic for the primality { if (a != b && a % b == 0) //modulo operators employed { Prime = false; break; } } if (Prime) { Console.Write("\t" + a); //printing the correct variable } Prime = true; } Console.ReadKey(); //hold the output screen } } }
输出:
程序说明: 上面的程序是使用循环和条件运算符来确定固定数字范围内的素数的经典示例。上面的程序使用自然数的下限,即 2 定义“a”为 2 到 99 范围内的自然数,运算后增量为 1,下一步使用具有类似范围的变量“b”但受限于一个条件,其上限总是小于'a'。然后循环遍历范围并使用变量 a 除以除数 b 的自然模运算。
如果 a 可以被 b 整除,则模运算符返回 0,表明 b 作为较小的自然数是合数 a 的因数。我们使用布尔参数 Prime 作为标志,以防我们收到不等于 0 的 a % b 值。现在,我们使用条件运算符在输出控制台中打印数字,以防我们收到的数字是质数。
使用 for 循环检查素数
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { public static void Main(string[] args) { int n, a, m = 0, PrimeIndicator = 0; Console.Write("Please enter the number to check for Primality: "); n = int.Parse(Console.ReadLine()); m = n / 2; for (a = 2; a <= m; a++) { if (n % a == 0) { Console.Write("The entered number is not a Prime number ."); PrimeIndicator = 1; break; } } if (PrimeIndicator == 0) Console.Write("The entered number is a Prime number . "); } } }
输出:
程序说明: 上述程序使用for循环来定义素数条件。输入读取字段捕获用户输入并分配给变量 n,计数器从值 2 解析到值 n-1 并测试整除性条件以确定该数字是否是质数。涉及的附加功能该程序使用值为 n/2 或正好是初始用户输入一半的变量 m,该程序仅解析最多为 m 值的循环。
使用 while 循环的素数。
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int n, i, a; Console.Write("Enter any number: "); n = Convert.ToInt32(Console.ReadLine()); // read the user input a = 0; i = 2; while (i <= n / 2) { if (n % i == 0) { a = 1; break; } i++; } if (a == 0) Console.WriteLine(n + " Prime Number as there are no factors"); else Console.WriteLine(n + " not a Prime Number "); Console.ReadLine(); } } }
输出:
程序说明: 上面的程序演示了在 C# 中使用 while 循环确定数字素数的过程。上面的程序使用控制读取命令读取用户输入,并在范围 2 上解析用户输入除以 2 的值,以确定用于测试数字素数的标志的值。循环内部赋值,并根据a的值显示结果
素数是大于 1 的自然数,只有 1 和它本身的因数。合数可以分解为素数的因数,这些数称为素因数。上面所示的各种程序为我们提供了使用 do、for、while 循环等循环来实现任意数字的素数的方法。尽管上述所有程序的实现背后的逻辑是通过使用模运算符进行操作来查找数字的因子,但其实现是根据循环的选择在不同的点进行控制的。
以上是C# 中的质数的详细内容。更多信息请关注PHP中文网其他相关文章!