我需要编写计算素数的程序。我在线搜索并找到了一个代码,但是我是.net的新手,并且知道要在Button1_Click函数中写什么。 这是我拍摄的代码: http://www.dotnetperls.com/prime
这是我尝试写入预制件的代码:
namespace Test
{
public partial class TestWebForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
IsPrime prime = new IsPrime();
}
}
}
我知道这不是一个好问题,但我真的需要帮助。 谢谢!
答案 0 :(得分:1)
1)在您提供的链接中,他们已经有一个静态类的类,它具有IsPrime方法。
2)您的代码中没有包含该类。我做到了。
3)在按钮点击事件中 - 我测试7是否是素数
4)结果将显示在空白页面中。 ( 对或错)。
namespace Test
{
public static class PrimeTool
{
public static bool IsPrime(int candidate)
{
// Test whether the parameter is a prime number.
if ((candidate & 1) == 0)
{
if (candidate == 2)
{
return true;
}
else
{
return false;
}
}
for (int i = 3;
(i * i) <= candidate; i += 2)
{
if ((candidate % i) == 0)
{
return false;
}
}
return candidate != 1;
}
}
public partial class TestWebForm: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
bool prime = PrimeTool.IsPrime(7); //when a class is static , you don't `new()` it.
Response.Write("7 is prime=" + prime);
}
}
}
答案 1 :(得分:0)
Simply do it like this.
namespace Test
{
public partial class TestWebForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int number = int.Parse(txtNumber.Text);
Response.Write(IsPrime(number));
}
private bool IsPrime(int number){
int boundary = Math.Floor(Math.Sqrt(number));
if (number == 1) return false;
if (number == 2) return true;
for (int i = 2; i <= boundary; ++i) {
if (number % i == 0) return false;
}
return true;
}
}
}