用“容斥原理”+gcd+lcm

这是一道关于利用容斥原理和数论概念来解决问题的数学题目。给定四张卡片,上面分别标有四个正整数,当勇士的编号是卡片上任意一张号码的倍数时,该勇士被认为是优秀的。输入包括勇士总数n和四张卡片上的数字a, b, c, d,任务是计算出能挑选出的优秀勇士数量。样例输入为10名勇士和卡片数字2, 3, 5, 7,输出应为9。数据规模逐步增大,最高可达n=10^18,a, b, c, d<=10^4。" 117809066,5518159,软件测试流程详解,"['软件测试', '测试流程', '测试用例', '测试策略', '测试报告']
摘要由CSDN通过智能技术生成

容斥原理:基本的题目都是 ans +奇数-偶数

而我们现在有四张卡片里面分别标记了一个号码, 当勇士的编号为其中某-张卡片中号码的倍数时说明该勇士是优秀的。
目前有nn名勇士(编号1 - n1−n)并且告诉你卡片内的号码,请你计算出能挑选出多少位勇士

输入
第一个行读入一个正整数nn

第二行读入四个正整数a, b, c, d分别表示四张卡片内的号码

输出
输出挑选出来的勇士个数

样例
输入复制
10
2 3 5 7
输出复制
9
提示
数据规模

对于20%20%的数据,1 \le n \le 10^4, 1 \le a, b,c,d \le 10^21≤n≤10
4
,1≤a,b,c,d≤10
2

对于60%60%的数据,1 \le n \le 10^8, 1 \le a, b,c,d \le 10^21≤n≤10
8
,1≤a,b,c,d≤10
2

对于100%100%的数据,1 \le n \le 10^{18}, 1 \le a, b,c,d \le 10^41≤n≤10
18
,1≤a,b,c,d≤10
4

#include<iostream>
using namespace std;
#define ll long long
ll a,b,c,d;
ll n;
ll ans;
ll gcd(ll a,ll b)
{
   
	ll t;
	if
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值