C#如何判断一个整数是否是素数?

作者&投稿:冯砍 (若有异议请与网页底部的电邮联系)
~ AI的方法,我原封不动抄了,还有优化空间。思路是整数开平方根,用这个整数跟3到平方根所有整数做除法取余,遍历下来只要取余有0就返回false
public bool IsPrime(int number)
{
if (number <= 1)
{
return false;
}
if (number <= 3)
{
return true;
}
if (number % 2 == 0 || number % 3 == 0)
{
return false;
}
for (int i = 5; i * i <= number; i += 6)
{
if (number % i == 0 || number % (i + 2) == 0)
{
return false;
}
}
return true;
}

素数是指仅有1和它本身两个公因数的数,如2,3,5,7,11等。

一、基本原理

编程判断一个整数N(N>2)是否为素数的基本思路是,使用2到N-1的每个数去除这个数N,如果某个数将其除尽了,则该数不是素数,如果到N-1为止,没有一个数将其除尽,则该数是素数。

二、C#中实现判断素数

在C#中可以使用循环来实现该算法。

下图展示了在C#控制台中实现该算法的过程。

首先,程序让用户输入一个待判断的数。

然后,使用循环来检测该数字是否为素数。

判断素数的程序代码




霍邱县13714825162: C#中判断一个数是不是素数怎么做 -
弘心降安: 从2循环到该数的平方根,逐个检查能否整除.

霍邱县13714825162: 用C#编辑程序,判断接受到的整数是否是质数 -
弘心降安: int intpar = int.Parse(Console.ReadLine()); for (int i = intpar-1; i >1; i--) { if (intpar % i == 0) { Console.WriteLine("你输入{0}的正数不是素数", intpar);return; } } Console.WriteLine("你输入{0}的是素数", intpar);

霍邱县13714825162: C#判断数字是否是质数代码 -
弘心降安: public void checkPrime(string val){ int num=0; try{ num=Convert.ToInt32(val); }catch{ label2.Text="必须输入数字"; return; } if(num<=0){ label2.Text="必须大于0"; return; } int iii=num/2; for(int ii=2;ii<=iii;ii++){ if(num%ii==0){ label2.Text="不是质...

霍邱县13714825162: 用C#语言编写一个程序判断一个数是不是素数 -
弘心降安: #include“stdio.h”main(){ int a,i,m=0;scanf("%d",for(i=2;i<a;i++)if(a%i!=0)m=1;if(m=1)printf("%d是一个素数\n",a);elseprintf(...

霍邱县13714825162: C# 编写程序,判断接收到的整数是否是质数 -
弘心降安: public String judge(int x){ String ReturnStr=""; if (xretrunStr="你输得数不合法"; }else if (x==1){ RetrunStr="1不是质数"; }else{ int count=0; for(int i=1;iif((x%i)==0){ count++; } if(count>1){ ReturnStr="不是质数" }else{ ReturnStr="是质数"; } } } return RetrunStr; }

霍邱县13714825162: 用C#语言编写一个程序:接受用户输入的数字并判断是否是质数 -
弘心降安: static void Main(string[] args) { Console.WriteLine("本程序使用递归方法判断一个数是否为质数."); Console.Write("请输入一个数:"); int num = Convert.ToInt32(Console.ReadLine()); //用户输入要判断的数,数必须是一个大于1的数.if (ZhiShu(2, num)) //调用方法执行判断 { Console.WriteLine("{0}是一个质数.", num); } else { Console.WriteLine("{0}不是一个质数.", num); } Console.ReadLine(); }

霍邱县13714825162: C#判断素数问题 -
弘心降安: 你的代码很正确,没有问题 我给你稍微修改了一下,这样看跟简单明了 int m, i, count; System.Console.WriteLine("输入一个数:"); m = Convert.ToInt16(Console.ReadLine()); for (i = 2, count = 0; i <= Math.Sqrt(m); i++) { if (m % i != 0) { continue; } count++; } if (count == 0) { Console.WriteLine("是素数!"); } else { Console.WriteLine("不是素数!"); } Console.Read();

霍邱县13714825162: 怎么判断一个输入的数是素数?用c#编程 -
弘心降安: int a = 0;//a是输入得数 if (a > 7) { if (a % 2 == 0 || a % 3 == 0 || a % 5 == 0 || a % 7 == 0) { //不是素数 } else { //是素数 } } else { if (a == 2 || a == 3 || a == 5 || a == 7) { //是素数 } else { //不是素数 } }

霍邱县13714825162: C#判断素数 -
弘心降安: 给你写个短短的 int intpar = int.Parse(Console.ReadLine());for (int i = intpar-1; i >1; i--){if (intpar % i == 0){Console.WriteLine("你输入{0}的正数不是素数", intpar);return;}}Console.WriteLine("你输入{0}的是素数", intpar);

霍邱县13714825162: 确定一个数是质数的C#程序 -
弘心降安: 质数就是在所有比1大的整数中,除了1和它本身以外,不再有别的约数直接从3开始判断,首先不能是偶数,然后再判断是否能被3,5,7整除for(int i=3;i<1000;i++) {if(i%2==0)return false;else if(i%3==0 || i%5==0 || i%7==0)return false;elsereturn true; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网