A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘安成 中级黑马   /  2013-12-16 14:30  /  1066 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘安成 于 2013-12-16 18:22 编辑

求一个判断素数(质数)的方法

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

4 个回复

倒序浏览

代码如下        复制代码
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;
}
}

评分

参与人数 1技术分 +1 收起 理由
陈福军 + 1

查看全部评分

回复 使用道具 举报
// 找出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();

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马