筛选法求素数

#include  < iostream >  
#include 
< fstream >  
using   namespace  std; 

const   int  LENGTH = 50
bool  Array[LENGTH + 1 ] = {false} ;
int  main() 

    ofstream FILE(
"mydata.txt"); 
    
for (int i=2;i<=LENGTH;++i) 
    

        
if (Array[i]==false
        

            cout
<<i<<' ';
            FILE
<<i<<' ';
            
for (unsigned int j=i*i;j<=LENGTH;j+=i)//HERE!筛选法求素数! 
            
                Array[j]
=true
            }

        }
 
    }
 
    cout
<<endl; 
    FILE
<<endl;
    FILE.close();
    system(
"pause");
    
return 0;
}

 感觉不错,收藏之。
在某个区间内,如果将所有素数的倍数删除,那么剩下的肯定是素数。

ps:判断素数的一般方法为:
1. 检验一个数是不是素数,只要看比它的平方根小的素数是不是能整除它。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值