您的位置:首页 > 编程语言 > C#

C#控制台循环判断输入的一个数是否为素数

2012-03-29 17:02 691 查看


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 判断一个数是否是素数
{
class Program         //循环输入判断一个数是否为素数  由于在网上没看到正确的,出于愤慨,自己手写了个。
{
static void Main(string[] args)
{
while (true)
{
try
{
Console.WriteLine("请输入一个自然数:");
uint j = 0;                                //定义一个uint变量,用来记录平方根之后的最大数
uint uintNum = Convert.ToUInt32(Console.ReadLine());   //记录输入的数
if (uintNum == 0 || uintNum == 1)
{
Console.WriteLine(uintNum + "既不是素数也不是合数");
}
else if (uintNum == 2)
{
Console.WriteLine(uintNum + "是素数");
}
else
{
j = (uint)Math.Ceiling(Math.Sqrt(Convert.ToDouble(uintNum)));  //为j赋值
for (uint i = 2; i <= j; i++)
{
int Remainder = Convert.ToInt32(Math.IEEERemainder(uintNum, i));
if (Remainder == 0)
{
Console.WriteLine(uintNum + "是合数");
break;
}
else
{
if (i == j)
{
if (Remainder != 0)
{
Console.WriteLine(uintNum + "是素数");
break;
}
}
continue;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("请输入自然数,错误为{0}",ex.Message);
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐