现在的位置: 首页 > 综合 > 正文

300-500内的质数(素数)个数和前10个最大的质数之和算法

2011年04月15日 ⁄ 综合 ⁄ 共 884字 ⁄ 字号 评论关闭

 

    private void CalPrimeNumber()
    
{
        
int totalCount = 0;
        
int sumTopTen = 0;
        
for (int i = 500; i >= 300; i--)
        
{
            
bool flag = true;
            
int k = Convert.ToInt32(Math.Sqrt(i));
            
for (int j = 2; j <= k; j++)
            
{
                
if (i % j == 0)
                
{
                    flag 
= false;
                    
break;//如果i除以j余数为0,则标志flag为False,并强制重新开始循环
                }

            }

            
if (flag == true)
            
{
                totalCount
++;
                
if (totalCount <= 10)
                
{
                    sumTopTen 
+= i;
                }

                Response.Write(i 
+ "<br />"); //这里输出符合条件的质数
            }

        }

        Response.Write(
"以上为 300 - 500 中所有的质数<br />");
        Response.Write(
"300 - 500 共有 " + totalCount + " 个质数<br />");
        Response.Write(
"其中最大的 10 个之和为:" + sumTopTen);
    }

 

抱歉!评论已关闭.