//使用穷举法并分别用for、while、do…while循环语句求出1~100之间的质数。
bool IsPrime = true; for (int dividend = 2; dividend <= 100; dividend++)//1既不是质数又不是合数
{
for (int divisor = 2; divisor < dividend; divisor++)
{
if (dividend % divisor == 0)
{
IsPrime = false;//可以被1和自身以外的数整除,所以不是质数
break;
}
}
if (IsPrime) Console.WriteLine(dividend.ToString());
IsPrime = true;
}我这里之用了for循环,我会继续把while /do...while的也发上来,大家帮我提提意见,看看有没有改进的余地,先谢了!
bool IsPrime = true; for (int dividend = 2; dividend <= 100; dividend++)//1既不是质数又不是合数
{
for (int divisor = 2; divisor < dividend; divisor++)
{
if (dividend % divisor == 0)
{
IsPrime = false;//可以被1和自身以外的数整除,所以不是质数
break;
}
}
if (IsPrime) Console.WriteLine(dividend.ToString());
IsPrime = true;
}我这里之用了for循环,我会继续把while /do...while的也发上来,大家帮我提提意见,看看有没有改进的余地,先谢了!
解决方案 »
- 不同的客户端对服务器同一页面进行请求,怎样使同一页面的同一变量对不同客户端保持不同的值??public,static分别意味着什么?
- 急,急,急~~~
- 怎么再建一个窗口
- 将图片绘至Form上,在0,0坐标显示正常,在别的坐标,图片就会显示异常,有没有谁遇过这样的问题呀?
- vs2005水晶报表
- 各位帮个忙,否则我将被辞职
- WinForm中使用WebBrowser问题,朋友们帮帮忙吧
- 关于一段翻页代码,翻页不更新??
- 模拟网页登录 YouTube 并发布评论
- C#写的很简单的一个COM+,这册时如下提示,什么原因????
- 请问C#能否在客户端直接输出数据库中的提示信息!
- 使用clickOne发布程序时,怎样才能把水晶报表文件rpt一起发布
------------------------------
这里,不需要算那么多,简单点的至少可以除以2,进一步可以使用Math.Sqrt(dividend)
int dividend = 2;
int divisor = 2; while (dividend < 100)
{
IsPrime = true;
divisor = 2;
while (divisor <= Math.Sqrt (dividend))
{
if (dividend % divisor != 0)
{
divisor++;
}
else
{
IsPrime = false;
divisor = 2;
break;
}
}
if (IsPrime) Console.WriteLine(dividend.ToString());
dividend++;
} //用do...while实现相同功能
int dividend = 2;
int divisor = 2; do
{
IsPrime = true;
divisor = 2;
do
{
if (dividend % divisor != 0)
{
divisor++;
}
else
{
if (dividend != divisor) IsPrime = false;
divisor = 2;
break;
}
} while (divisor <= Math.Sqrt(dividend));
if (IsPrime) Console.WriteLine(dividend.ToString());
dividend++;
} while (dividend < 100); }