1. 程式人生 > >300-500內的質數(素數)個數和前10個最大的質數之和演算法

300-500內的質數(素數)個數和前10個最大的質數之和演算法

{
        
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);
    }