zoukankan      html  css  js  c++  java
  • 1284 2 3 5 7的倍数 分类: 51nod 2015-07-18 22:06 6人阅读

    给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。

    Input

    输入1个数N(1 <= N <= 10^18)。

    Output

    输出不是2 3 5 7的倍数的数共有多少。

    Input示例

    10

    Output示例

    1

    容斥原理,简单暴力

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
        long long n;
      long long a[20];
     while(scanf("%lld",&n)!=EOF)
     {
      memset(a,0,sizeof(a));
      a[0]=n/2;
      a[1]=n/3;
      a[2]=n/5;
      a[3]=n/7;
      a[4]=n/(2*3);
      a[5]=n/(2*5);
      a[6]=n/(2*7);
      a[7]=n/(3*5);
      a[8]=n/(3*7);
      a[9]=n/(5*7);
      a[10]=n/(2*3*5);
      a[11]=n/(3*5*7);
      a[12]=n/(2*3*7);
      a[13]=n/(2*5*7);
      a[14]=n/(2*3*5*7);
      /*for(int i=0;i<15;i++)
      {
       printf("%d ",a[i]);
      }*/
     // printf(" ");
      long long  ans=n-a[0]-a[1]-a[2]-a[3]+a[4]+a[5] +a[6]+a[7]+a[8]+a[9]-a[10]-a[11]-a[12]-a[13]+a[14];
      printf("%lld ",ans);
     }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JS函数机制小结
    面向对象的JS随笔
    web性能优化
    css布局
    Spark内存管理
    Scala中==,eq与equals的区别
    Java中char占用几个字节
    Java中long和double的原子性
    elk-filebeat收集docker容器日志
    Spring Boot多数据源配置(二)MongoDB
  • 原文地址:https://www.cnblogs.com/NaCl/p/9580198.html
Copyright © 2011-2022 走看看