1.计数

(count.cpp/c/pas)

时间限制:1s

内存限制:256MB

【问题描述】

给出m个数a[1],a[2],…,a[m]

1~n中有多少数不是a[1],a[2],…,a[m]的倍数。

【输入】

输入文件名为count.in。

第一行,包含两个整数:n,m

第二行,包含m个数,表示a[1],a[2],…,a[m]

【输出】

输出文件名为count.out。

输出一行,包含1个整数,表示答案

【输入输出样例】

count.in

count.out

10 2

2 3

3

【数据说明】

对于60%的数据,1<=n<=106

对于另外20%的数据,m=2

对于100%的数据,1<=n<=109,0<=m<=20,1<=a[i]<=109 

 

题解:

 

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

int cnt,n,m,x,vis[5000000];

int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++){
        scanf("%d",&x);
        for(int j=1;j*x<=n;j++){
            if(!vis[j*x]){
                vis[j*x]=true;
                cnt++;
            }
        }
    }
    printf("%d\n",n-cnt);
    return 0;
}
60暴力

相关文章:

  • 2022-12-23
  • 2021-07-22
  • 2022-01-20
  • 2022-12-23
  • 2021-07-14
  • 2022-12-23
  • 2022-02-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案