Codeforces Round #105 (Div. 2) / 148A Insomnia cure (枚举 || 数论)_枚举输入

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


A. Insomnia cure

http://codeforces.com/problemset/problem/148/A

time limit per test

memory limit per test

input

output

«One dragon. Two dragon. Three dragon», — the princess was counting. She had trouble falling asleep, and she got bored of counting lambs when she was nine.

k-th dragon got punched in the face with a frying pan. Every l-th dragon got his tail shut into the balcony door. Every m-th dragon got his paws trampled with sharp heels. Finally, she threatened every n-th dragon to call her mom, and he withdrew in panic.

d

Input

k, l, m, n and d, each number in a separate line (1 ≤ k, l, m, n ≤ 10, 1 ≤ d ≤ 105).

Output

Output the number of damaged dragons.

Sample test(s)

input

1 2 3 4 12

output

12

input

2 3 4 5 24

output

17

Note

In the first case every first dragon got punched with a frying pan. Some of the dragons suffered from other reasons as well, but the pan alone would be enough.

In the second case dragons 1, 7, 11, 13, 17, 19 and 23 escaped unharmed.


暴力代码:

/*30ms,0KB*/

#include <cstdio>

int main(void)
{
	int k, l, m, n, d, s = 0;
	scanf("%d%d%d%d%d", &k, &l, &m, &n, &d);
	for (int i = 1; i <= d; ++i)
		if (!(i % k && i % m && i % n && i % l))
			s++;
	printf("%d\n", s);
	return 0;
}


神牛写的数论代码:(没看懂)

/*30ms,0KB*/

#include <cstdio>
#include <vector>
using namespace std;

int v[4], n;
bool bio[4][4];

inline int gcd(int a, int b)
{
	int ret = 1;
	for (int i = 2; i <= a; ++i)
		if (a % i == 0 && b % i == 0)
			ret = i;
	return ret;
}

inline int lcm(int a, int b)
{
	return a / gcd(a, b) * b;///为防止可能的数据超范围,先除再乘要更好。
}

vector<int> rek(int i, int k, vector<int> w)
{
	if (k == 0)
	{
		int ret = w[0];
		for (int j = 1; j < (int) w.size(); ++j)
			ret = lcm(ret, w[j]);
		return vector<int> (1, ret);
	}
	if (i == 4)
        return vector<int>();
	vector<int> ret;
	vector <int> ret2 = rek(i + 1, k, w);
	for (int j = 0; j < (int)ret2.size(); ++j)
		ret.push_back(ret2[j]);
	w.push_back(v[i]);
	vector<int> ret1 = rek(i + 1, k - 1, w);
	for (int j = 0; j < (int)ret1.size(); ++j)
		ret.push_back(ret1[j]);
	return ret;
}

int main(void)
{
	int ret = 0;
	scanf("%d%d%d%d%d", &v[0], &v[1], &v[2], &v[3], &n);
	for (int i = 1; i <= 4; ++i)
	{
		vector<int> div = rek(0, i, vector<int>());
		for (int j = 0; j < (int)div.size(); ++j)
			if (i % 2)
				ret += n / div[j];
			else
				ret -= n / div[j];
	}
	printf("%d",ret);
}



阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“Codeforces Round #105 (Div. 2) / 148A Insomnia cure (枚举 || 数论)_枚举输入” 的相关文章

SQLPLUS中HELP帮助的安装与删除

手工建库后SQLPLUS中HELP默认是没有的,下面记录下如何安装及删除SQLPLUS中的HELP命令。 注意:SQLPLUS的HELP命令只有在数据库OPEN时才能使用。非OPEN状态使用HELP也报错:SP2-0171: HELP system not...

springboot项目感受03

继续上文 01.数据的部分已经完成了此时需要考虑到前端与用户交互的部分这里就需要网页html服务器响应servlet。 网页的部分html文件放在resource目录下的template文件中servlet变成了controller包其中的controller类功能是与servlet一致的。 c...

Jquery ui Datepicker 的汉化

<link rel="stylesheet" href="jqueryui/themes/base/jquery.ui.all.css"> <%-- <link rel="stylesheet" href="jqueryui/demos.css">--%&...

Python中的生成器原理是什么 - 开发技术

这篇文章主要介绍“Python中的生成器原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中的生成器原理是什么”文章能帮助大家解决问题。什么是python生成器生成器是一种特殊的迭代器,它内部也有__iter...

UVa 10038 / POJ 2575 / ZOJ 1879 Jolly Jumpers (water ver.)

10038 - Jolly JumpersTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_...

怎么用Python展示全国高校的分布情况 - 编程语言

这篇文章主要介绍“怎么用Python展示全国高校的分布情况”,在日常操作中,相信很多人在怎么用Python展示全国高校的分布情况问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python展示全国高校的分布情况”的疑惑有所帮助!接下...