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

质数计算算法
本文介绍了一个用于计算300到500范围内质数的C#算法,通过使用sqrt优化循环次数,提高了效率。该算法首先初始化计数器和求和变量,然后逐个检查每个数是否为质数,最后输出所有质数、总数及前十个质数的和。

 

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

            }

            
if (flag == true)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                totalCount
++;
                
if (totalCount <= 10)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    sumTopTen 
+= i;
                }

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

        }

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

 

转载于:https://www.cnblogs.com/Dicky/archive/2009/06/19/CalPrimeNumber.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值