zoukankan      html  css  js  c++  java
  • 1706 求合数和

    1706 求合数和

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 白银 Silver
     
     
    题目描述 Description

    用户输入一个数,然后输出从1开始一直到这个数为止(包括这个数)中所有的合数的和。

    输入描述 Input Description

    一个整数N,0<N<=1000

    输出描述 Output Description

    一行,一个整数,即从1到N中所有合数的和

    样例输入 Sample Input

    样例一:100

    样例二:9

    样例输出 Sample Output

    样例一:3989

    样例二:27

    数据范围及提示 Data Size & Hint

    先找出素数,然后把不是素数的和相加。

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    #define N 10010
    int prime[N];
    bool check[N];
    int main()
    {
        memset(check,0,sizeof check);
        int tot=0;
        int n,sum=0;
        scanf("%d",&n); 
        for(int i=2;i<=n;i++){
           if(!check[i])
             prime[tot++]=i;
           for(int j=0;j<tot;j++){
                if(i*prime[j]>n) break;
                check[i*prime[j]]=1;
                if(i%prime[j]==0) break;
              }
          }
        for(int i=2;i<=n;i++)
            if(check[i]) sum+=i;
        printf("%d
    ",sum);             
        return 0;
    }
  • 相关阅读:
    codevs1004 四子连棋
    codevs1009 产生数
    NOIP2014 寻找道路
    Tyvj1139 向远方奔跑(APIO 2009 抢掠计划)
    随机算法
    线性基
    线性基入门
    线性基 + 并查集
    欧拉公式 (平面)
    卡特兰数 + 大数
  • 原文地址:https://www.cnblogs.com/shenben/p/5516769.html
Copyright © 2011-2022 走看看