C語言 · 素數求和


算法提高 素數求和  
時間限制:1.0s   內存限制:256.0MB
    
問題描述
  輸入一個自然數n,求小於等於n的素數之和
樣例輸入
2
樣例輸出
2
數據規模和約定
  測試樣例保證 2 <= n <= 2,000,000

 

作者注釋:水平有限,此題有些不知所措——n較大時結果有誤,因而后面兩個測試點總是不過。

 1 #include<stdio.h>
 2 #include<math.h>
 3 int IsPrime(int n){
 4         int k=sqrt(n+1);
 5         for(int i=2;i<=k;i++){
 6             if(n%i==0){
 7                 return 0;
 8             }
 9         }
10         return 1;
11 }
12 int main(){
13     int n,sum=0;
14     scanf("%d",&n);
15     for(int i=2;i<=n;i++){
16         if(IsPrime(i)){
17             sum+=i;
18         }
19     }
20     printf("%d",sum);
21 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM