Acwing 890. 能被整除的数

news/2025/3/20 14:34:37/

Acwing 890. 能被整除的数

题目描述

给定一个整数 n 和 m 个不同的质数 p1,p2,…,pm。

请你求出 1∼n中能被 p1,p2,…,pm 中的至少一个数整除的整数有多少个。

输入格式

第一行包含整数 n 和 m。

第二行包含 m个质数。

输出格式

输出总共的个数。

数据范围

1≤m≤16,
1≤n,pi≤109

思路

若干个集合组成一个图,集合的大小就是集合内的整数的个数,如果各个集合没有交集,那么各个集合的和就是总集。
如果只有两个集合有交集。那么总集的大小就是各个集合的和减去这两个集合的交集。若是三个集合有公共的集合就是将各个集合相加减去。然后减去所有两两交集加上所有三个集合的交集。以此类推。对于奇数个集合就是加上交集。偶数个集合就是减去若干个集合的交集。
所有这个题目可以看成总集是能够被其中一个数整除的数。
然后里面有若干个集合。对应每个集合就是一个能被该数整除的所有在范围内的数字的集合。

代码

#include<iostream>
using namespace std;
#include<algorithm>
#include<cstring>const int N = 20;
int f[N];int main()
{int n ,m;cin>>n>>m;for(int i = 0; i < m; i ++ ){cin>>f[i];}int ans = 0;for(int i = 1 ; i < 1 << m ; ++ i){int flag = 1 ;int ti = 0;for(int j = 0 ; j < m ; ++ j){if(i >> j & 1 ){if((long long)flag *f[j] > n){flag = - 1 ;break;   } ti++; flag *= f[j];}}if( flag != -1){if( ti % 2)ans += ( n/flag);else ans -= n /flag ;}}cout<< ans ;return   0 ;
}

-= n /flag ;
}
}

cout<< ans ;return   0 ;

}


http://www.ppmy.cn/news/542396.html

相关文章

LeetCode Problems #890

2018年9月16日 #890. Find and Replace Pattern 问题描述&#xff1a; You have a list of words and a pattern, and you want to know which words in words matches the pattern. A word matches the pattern if there exists a permutation of letters p so that after …

890. Find and Replace Pattern

# 简单题&#xff0c;直接对输入做一个变换就可以 class Solution { public:string change_word_format(string word){string result "";map<char, string> s;int index 0;for(int i0;i<word.length();i){if(s.find(word[i])s.end()){s[word[i]]to_strin…

890. 查找和替换模式

890. 查找和替换模式 https://leetcode-cn.com/contest/weekly-contest-98/problems/find-and-replace-pattern/ package com.test;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;//https://leetcode-cn.com/contest/we…

tcl电视linux系统怎么升级,TCL电视MS80104系列最新890版升级方法及效果图!

原标题:TCL电视MS80104系列最新890版升级方法及效果图! MS80104系列系统UI全面升级890版 件版本号:V8-MS80104-LF1V890芯片方案:MS801 ()固件适用机型: TCL智能电视F3390/E5300/E5050/E5060/E4500/E4380/E5390/F3500/E5500系列 亲测好用,稳定,无bug,有需要的可以自行下载,…

2022河海大学物联网工程学院电子信息(计算机与软件方向)890上岸经验帖(毕业2年后,双非三跨211成功)

需要真题资料或者辅导的加扣扣2389886090 一.个人情况介绍 19年毕业于江苏末流二本的化学工程与工艺专业&#xff0c;随后转行为java后端开发工程师&#xff08;南京的某手机厂商&#xff0c;人力外包进去的&#xff09;&#xff0c;21年7月左右辞职&#xff0c;全力冲刺考研…

php1 890,PHP正则表达式:将1234567890转换成1,234,567,890 每3位用逗号隔开的形式

“四项处理”的作用是与字符相匹配&#xff0c;然后根据是否能找到要匹配的字符&#xff0c;从而确定下来是否有符合要匹配样式的位置&#xff0c;在这个过程中&#xff0c;“四项处理”的匹配操作并不会占用目标字符串&#xff0c;它只是纯粹用于位置判断。下面是“四项处理”…

wr890n虚拟服务器,TP-Link TL-WR890N无线路由器的上网设置教程

一台全新或者恢复出厂设置后的TP-Link TL-WR890N无线路由器,要实现上网,需要经过以下设置步骤,本文学习啦小编主要介绍TP-Link TL-WR890N无线路由器的上网设置教程! TP-Link TL-WR890N无线路由器的上网设置教程 1、登录设置界面: 在浏览器的地址栏中输入:tplogin.cn,然后按…

wr890n虚拟服务器,TP-Link TL-WR890N路由器怎么设置?

本文介绍了TP-Link TL-WR890N无线路由器的安装和上网设置,一台全新(恢复出厂设置后)的TL-WR890N无线路由器,要实现上网,需要经过以下几个设置步骤:1、设置电脑IP地址;2、连接TL-WR890N路由器;3、TL-WR890N路由器上网设置。 TP-Link TL-WR890N无线路由器 第一步、设置电脑…