C#判断素数问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:51:57
using System;
using System.Collections.Generic;
using System.Text;

namespace sushu
{
class Program
{
static void Main(string[] args)
{
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("不是素数!");
}
}
这是我做的代码
为什么把ReadLine改成Read输出的永远是"不是素数!"???高手指教!

你的代码很正确,没有问题

我给你稍微修改了一下,这样看跟简单明了

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();

//判断一个数是不是素数
private static bool isPrime(int prom)
{
//小知识:
//质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,
//不能被其他自然数整除的数。
//素数在数论中有着很重要的地位。
//比1大但不是素数的数称为合数。