黑马程序员技术交流社区

标题: 求一个判断素数(质数)的方法 [打印本页]

作者: 刘安成    时间: 2013-12-16 14:30
标题: 求一个判断素数(质数)的方法
本帖最后由 刘安成 于 2013-12-16 18:22 编辑

求一个判断素数(质数)的方法
作者: 鸡蛋壳    时间: 2013-12-16 15:16

代码如下        复制代码
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");//默认只许输入“q”或者输入大于1的整数
string numberString = Console.ReadLine();
while (numberString != "q")
{
int numberInt = Convert.ToInt32(numberString );
bool result = PanDuan (numberInt );
if (result == true)
Console.WriteLine("{0}是质数", numberInt);
else
Console.WriteLine("{0}不是质数",numberInt );
Console.WriteLine("请输入一个数:");
numberString = Console.ReadLine();
}
Console.WriteLine("操作结束!!!");
Console.ReadKey();
}
public static bool PanDuan(int number)
{
bool result=true;
for (int i = 2; i < number; i++)
{
if (number == 2)
{
result = true;
break;
}
else if (number % i == 0)
{
result = false;
break;//break好像可以用,但是总是提示“检测到无法访问的代码”,这里一定不严谨
}
else
{
result = true;
break;
}
}
return result;
}
}
作者: 雨中恋人    时间: 2013-12-16 16:01
// 找出100内所有的素数
            //素数就是质数  只能被1和本身整除的数字
            //外层循环负责遍历2-100之间所有的数字
            for (int i = 2; i <= 100; i++)
            {
                bool b = true;
                for (int j = 2; j <= i - 1; j++)
                {
                    //让当前循环到的数字从2开始取余,一直到当前循环到的这个数字-1
                    if (i % j == 0)
                    {
                        b = false;
                        //如果当前循环到的数字不是质数 那么跳出当前循环
                        break;
                    }
                }
                if (b)
                {
                    Console.WriteLine(i);
                }
            }
            Console.ReadKey();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2