148A. Insomnia cure
“一条龙。两条龙。三龙»,——公主在数。她难以入睡,九岁时就厌倦了数羊羔。
然而,光是数龙也很无聊,所以她充其量地自娱自乐。今晚她想象所有的龙都来偷她,她正在击退它们。每次第k条龙都被煎锅打了一拳。每次第l条龙都把尾巴关在阳台门上。每m条龙的爪子都被锋利的高跟鞋踩踏。最后,她威胁每n条龙都叫她妈妈,他惊慌失措地退了出去。
如果公主数一数总共有d条龙,今晚有多少想象中的龙遭受了精神或身体上的伤害?
输入
输入数据包含整数 k、l、m、n 和 d,每个数字在单独的行中(1 ≤ k、l、m、n ≤ 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;
}