1284 2 3 5 7的倍数
基准时间限制:1 秒 空间限制:131072 KB 分值: 5  难度:1级算法题

 收藏
 关注

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

容斥原理的描述如下:

要计算几个集合并集的大小,我们要先将单个集合的大小计算出来,然后减去两个集合相交的部分,再加回三个集合相交的部分,再减去四个集合相交的部分,以此类推,一直计算到所有集合相交的部分。

所以这个题目要求的是不是2 3 5 7的倍数,可以求是2 3 5 7的倍数之后,再减去即可。

这样就会用到容斥原理,先求仅仅只是整除2 3 5 7的数量,再减去整除了它们之间两两的乘积的数量,再加上整除它们三个之间的乘积的数量,再加上整除四个的数量。

而这个数量也很有意思,1到num中整除c的数量正是num/c的值。

所以,代码:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#pragma warning(disable:4996)
using namespace std;long long n,num,a,b,c,d,ab,ac,ad,bc,bd,cd,abc,abd,bcd,acd,abcd;int main()
{cin>>n;num=0;a=n/2;b=n/3;c=n/5;d=n/7;ab=n/6;ac=n/10;ad=n/14;bc=n/15;bd=n/21;cd=n/35;abc=n/30;abd=n/42;acd=n/70;bcd=n/105;abcd=n/210;num=a+b+c+d-ab-ac-ad-bc-bd-cd+abc+abd+acd+bcd-abcd;cout<<n-num<<endl;return 0;
}

51nod 1284:2 3 5 7的倍数 容斥原理相关推荐

  1. [51nod]1284 2 3 5 7的倍数(容斥原理)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1284 1 #include <iostream> ...

  2. 51NOD 1284 2 3 5 7的倍数

    1284 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5  难度:1级算法题  收藏  关注 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如 ...

  3. 51NOD 1284 2 3 5 7的倍数

    1284 2 3 5 7的倍数 基准时间限制: 1 秒 空间限制: 131072 KB 分值: 5 难度:1级算法题 收藏 关注 取消关注 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数 ...

  4. 51Nod-1284 2 3 5 7的倍数【数位DP+记忆化搜索】

    1284 2 3 5 7的倍数  给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如N = 10,只有1不是2 3 5 7的倍数. Input 输入1个数N(1 <= N &l ...

  5. 数论(四)——欧拉函数

    目录 欧拉函数 用公式求欧拉函数 筛法求欧拉函数 欧拉定理 欧拉函数 定义: 在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目. 注: 1.φ(1)=1 2.互质是公约数只有1 ...

  6. 51nod 1103 N的倍数 思路:抽屉原理+前缀和

    题目: 这是一道很神奇的题目,做法非常巧妙.巧妙在题目要求n个数字,而且正好要求和为n的倍数. 思路:用sum[i]表示前i个数字的和%n.得到sum[ 1-N ]共N个数字. N个数字对N取模,每个 ...

  7. 【51Nod - 1103】N的倍数 (思维,鸽巢原理也叫抽屉定理,求倍数问题取模)

    题干: 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数. I ...

  8. 杭电1284钱币兑换问题—背包dp/母函数(java)

    Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Out ...

  9. 51nod 1536不一样的猜数游戏 思路:O(n)素数筛选法。同Codeforces 576A Vasya and Petya‘s Game。

    废话不多说,先上题目. 51nod Codeforces 两个其实是一个意思,看51nod题目就讲的很清楚了,题意不再赘述. 直接讲我的分析过程:刚开始拿到手有点蒙蔽,看起来很难,然后......然后 ...

最新文章

  1. Mapping Persistence Classes 笔记2---ValueType的形式和映射
  2. 深度学习的发展可能已达极限!
  3. html 判断boolean,js关于if()else{}中的判定条件的认识,各种数据类型转换为Boolean类型的转换规则...
  4. 文巾解题 319. 灯泡开关
  5. SpringCloud(第二部分)
  6. python中的字符串是什么,一文秒懂Python中的字符串
  7. linux 应用层gpio中断_如何在嵌入式Linux中检测GPIO线路上的中断?
  8. PCIe是什么?PCIe标准和PCIe布线规则总结概述
  9. 计算机广告制作未来发展还行吗,计算机多媒体设计专业和广告设计制作那个好...
  10. Linux开放21通信,linux下开启ftp的21号port
  11. ci如何使用中$.ajax 中的 url 如何使用php的代码,CI框架中使用ajax操作数据库有关问题...
  12. EL表达式及其定义和使用 转
  13. matlab考试,MATLAB考试题
  14. Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
  15. 转载:开源license总结
  16. 机器学习之实现一元线性回归模型
  17. 《微信公众平台入门到精通》Vol.1
  18. Android人脸支付功能,android支付宝上刷脸支付的人脸识别技术
  19. java中报出异常java.net.MalformedURLException: unknown protocol: jrt
  20. JAVA 启动JVM时,Xms和Xmx参数

热门文章

  1. 监管沙盘不够:区块链领导者寻求监管帮助
  2. ug902-ch1ch4:Managing Interfaces
  3. 【图像处理】RGB、YUV (YCbCr) 图像表示详解
  4. mybatis框架详解
  5. 多层陶瓷电容器用处_片式多层陶瓷电容器(MLCC)生产流程简介
  6. 《多媒体信息技术》复习思考题
  7. 移动端h5页面不同尺寸屏幕适配兼容方法
  8. python中step什么意思_如何在Python中求解step函数?
  9. spu是什么计算机软件,电商sku和spu的区别
  10. Springboot Failed to parse configuration class x nested exception is Java class path resource