zoukankan      html  css  js  c++  java
  • 51Nod 1284 2 3 5 7的倍数 (容斥定理)

    给出一个数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

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <stdio.h>
     4 #include <cstring>
     5 using namespace std;
     6 #define ll long long
     7 int main()
     8 {
     9     ll n;
    10     while(cin>>n){
    11         ll s2,s3,s5,s7,s23,s25,s27,s35,s37,s57,s235,s237,s257,s357,s2357,s=0;
    12         s2=n/2,s3=n/3,s5=n/5,s7=n/7;
    13         s23=n/(2*3),s25=n/(2*5),s27=n/(2*7),s35=n/(3*5),s37=n/(3*7),s57=n/(5*7);
    14         s235=n/(2*3*5),s235=n/(2*3*5),s237=n/(2*3*7),s257=n/(2*5*7),s357=n/(3*5*7);
    15         s2357=n/(2*3*5*7);
    16         s+=s2+s3+s5+s7-s23-s25-s27-s35-s37-s57+s235+s237+s257+s357-s2357;
    17         cout<<n-s<<endl;
    18     }
    19     return 0;
    20 }
  • 相关阅读:
    不同压测场景的区别
    常用的re模块的正则匹配的表达式
    了解爬虫
    robots.txt 协议
    vue前台配置
    短信验证码的使用
    创建表
    数据库配置
    后台:Django项目创建
    虚拟环境的搭建
  • 原文地址:https://www.cnblogs.com/wydxry/p/7238446.html
Copyright © 2011-2022 走看看