CODEFORCES --- 148A. Insomnia cure

148A. Insomnia cure

“一条龙。两条龙。三龙»,——公主在数。她难以入睡,九岁时就厌倦了数羊羔。

然而,光是数龙也很无聊,所以她充其量地自娱自乐。今晚她想象所有的龙都来偷她,她正在击退它们。每次第k条龙都被煎锅打了一拳。每次第l条龙都把尾巴关在阳台门上。每m条龙的爪子都被锋利的高跟鞋踩踏。最后,她威胁每n条龙都叫她妈妈,他惊慌失措地退了出去。

如果公主数一数总共有d条龙,今晚有多少想象中的龙遭受了精神或身体上的伤害?

输入

输入数据包含整数 klmnd,每个数字在单独的行中(1 ≤ klmn ≤ 10、1 ≤ d ≤ 105).

输出

输出受损龙的数量。

例子

输入

1
2
3
4
12

输出

12

输入

2
3
4
5
24

输出

17

注意

在第一种情况下,每条龙都会被煎锅打一拳。有些龙也遭受了其他原因的折磨,但仅平底锅就足够了。

在第二种情况下,龙1、7、11、13、17、19和23毫发无伤地逃脱了。

解决方法:

// codeforces
// 148A. Insomnia cure

# include<iostream>

using namespace std;

int main()
{
	int k, l, m, n, d;
	cin >> k;
	cin >> l;
	cin >> m;
	cin >> n;
	cin >> d;
	int num[d+1];
	for(int i = 0; i <= d; i++)
	{
		num[i] = 0;
	}
	for(int j = 1; j <= d; j++)
	{
		if(j * k <= d)
		{
			num[j*k] = 1;
		}
		if(j * l <= d)
		{
			num[j*l] = 1;
		}
		if(j * m <= d)
		{
			num[j*m] = 1;
		}
		if(j * n <= d)
		{
			num[j*n] = 1;
		}
	}
	int sum = 0;
	for(int i = 1; i <= d; i++)
	{
		sum = sum + num[i];
	}
	cout << sum;
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值