1e9个兵临城下(容斥原理)

链接:https://ac.nowcoder.com/acm/contest/321/A
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

 “FF来训练!”“一定来!”

 

 

FF成天到晚咕了NE的训练。这可把NE急坏了。为了拯救ff的知识勺,拥有知识海的NE决定去现实gank一波FF,逼他训练。

可去gank了几波发现ff居然有着成千上万的小伙伴在帮助FF阻拦NE,这几次gank,NE都失败了。无奈之下痛定思痛,NE决定也带上自己的109个小伙伴去gankFF。

FF提前得知了这个消息,这可把FF急坏了.那可是109个人啊!

这时FF的小伙伴EN说:“FF莫慌,我这里有3盏BD哥的神灯,上面分别有一个素数,可以让编号被上面的数字整除的人昏睡过去,这样就可以大大削减NE的人数!”(FF所带的109个人分别被编号为1~109)

FF:“好!”。FF如同找到了救命稻草。但是由于只能削减一部分人数,FF需要召集的人数应该大于等于NE剩下的人数,但是时间紧急,FF算不出来了,你能告诉FF至少要准备多少人吗?

 

输入描述:

 

第一行包含一个正整数T(T<200)

之后的T行每行包含3个正整数,a,b,c(2<=a,b,c<106;a!=b,b!=c,c!=a;保证a,b,c为素数)

分别代表3盏神灯上的数字。

输出描述:

输出T行
每行一个整数,表示FF至少要准备的人数。

示例1

输入

复制

3
2 3 5
5 7 11
13 2 3

输出

复制

266666666
623376624
307692308

题解:

容斥原理

代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>

using  namespace std;


int main()
{
	
	int T;
	cin>>T;
	for(int t=0;t<T;t++)
	{
		long long int a,b,c;
		scanf("%lld%lld%lld",&a,&b,&c);
		long long int sum=1000000000;
		long long int a1,a2,a3,a4,a5,a6,a7;
		a1=sum/a;
		a2=sum/b;
		a3=sum/c;
		a4=sum/(a*b);
		a5=sum/(a*c);
		a6=sum/(b*c);
		a7=sum/(a*b*c);
		//cout<<a1+a2+a3-a4-a5-a6+a7<<endl;
		long long int s=sum-(a1+a2+a3-a4-a5-a6+a7);
		cout<<s<<endl;
	  
		//cout<<sum<<endl;
	}
	
	return 0;
}

 

转载于:https://www.cnblogs.com/Staceyacm/p/10781876.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值