Разборы задач №1 - НОК, математика

Содержание

Слайд 2

Содержание

3 – Задачка наНОК – codeforces 235A
9 – Театральная площадь – codeforces

Содержание 3 – Задачка наНОК – codeforces 235A 9 – Театральная площадь
1A
13 – Пицца, пицца, пицца!!! – codeforces 979A
17 – Прыгающая лягушка – codeforces 1077A
23 – Уравнение – informatics №260

Слайд 3

Задача на НОК – codeforces 235A

 

Задача на НОК – codeforces 235A

Слайд 4

Задача на НОК – codeforces 235A

Примеры

Задача на НОК – codeforces 235A Примеры

Слайд 5

Задача на НОК – codeforces 235A

Идея решения для данной задачи основана на

Задача на НОК – codeforces 235A Идея решения для данной задачи основана
проверке кратности N.
В зависимости от того, НОК скольких чисел K мы ищем, нам следует проверить кратность N всем простым числам, не превосходящим K.
Кроме того, очевидно, что результатом в данной задаче будет НОК трех чисел, максимально близких к N. Тогда рассмотрим N.

Слайд 6

Задача на НОК – codeforces 235A

Если N<3, то достаточно вернуть N в

Задача на НОК – codeforces 235A Если N Если N>3, то рассмотрим
качестве результата.
Если N>3, то рассмотрим случаи, когда N - нечетное и когда N- четное.
Если N – нечетное, то в качестве результата получится число N(N-1)(N-2).
Если N – четное, то рассмотрим два случая:
N делится на 3. Тогда результат – (N-1)(N-2)(N-3).
N не делится на 3. Тогда результат – N(N-1)(N-3).

Слайд 7

Задача на НОК – codeforces 235A

Примеры:
7 – нечетное, результат – 7*6*5=504
18 –

Задача на НОК – codeforces 235A Примеры: 7 – нечетное, результат –
четное, делится на 3, результат – 18*17*15=4590
22 – четное, не делится на 3, результат – 22*21*19=8778

Слайд 8

Задача на НОК – codeforces 235A

#include
using namespace std;
int main() {
long

Задача на НОК – codeforces 235A #include using namespace std; int main()
long n;
cin>>n;
if (n<3)
cout< else if (n%2!=0)
cout<< n*(n-1)*(n-2);
else if (n%3!=0)
cout<< n*(n-1)*(n-3);
else
cout<<(n-1)*(n-2)*(n-3);
return 0;
}

Слайд 9

Театральная площадь – codeforces 1A

 

Театральная площадь – codeforces 1A

Слайд 10

Театральная площадь – codeforces 1A

Примеры

Поскольку сказано, что площадь имеет прямоугольную форму, а

Театральная площадь – codeforces 1A Примеры Поскольку сказано, что площадь имеет прямоугольную
также то, что при покрытии площади можно выходить за её границы, нам достаточно умножить наименьшее целое число плит, которые покроют длину площади на наименьшее целое число плит, которые покроют её ширину.

Слайд 11

Театральная площадь – codeforces 1A

Театральная площадь – codeforces 1A

Слайд 12

Театральная площадь – codeforces 1A

#include
using namespace std;
int main()
{
long long m, n,

Театральная площадь – codeforces 1A #include using namespace std; int main() {
a;
cin>>m>>n>>a;
cout<<((m+a-1)/a)*((n+a-1)/a);
}

Слайд 13

Пицца, пицца, пицца!!! – codeforces 979A

Кэти, Куро и Широ — лучшие друзья.

Пицца, пицца, пицца!!! – codeforces 979A Кэти, Куро и Широ — лучшие
Они знают друг друга ещё с детского сада, поэтому очень часто делятся всем между собой и решают сложные задачи вместе.
Сегодня день рождения Широ. Она очень любит пиццу, поэтому она хочет пригласить своих друзей, включая Куро и Кэти, в пиццерию рядом с её домом. Для того, чтобы накормить всех своих друзей, Широ заказала очень большую круглую пиццу. На день рождения придёт ровно n друзей Широ, поэтому ей надо разделить пиццу на n+1 кусок (Широ тоже надо есть!) Она хочет, чтобы все куски пиццы были одной и той же формы и одного и того же размера, иначе её друзья будут в бешенстве и испортят всё веселье.
Широ уже голодна, поэтому она хочет разрезать пиццу минимальным числом прямых разрезов, но при этом она слишком ленива, чтобы достать калькулятор. Разрез — это прямой отрезок, он может начинаться и заканчиваться как внутри, так и снаружи пиццы.
Обычно Широ попросила бы помощи у Кэти и Куро, но они ещё не пришли. Можете ли вы помочь Широ решить эту задачу?

Слайд 14

Пицца, пицца, пицца!!! – codeforces 979A

 

Примеры

Пицца, пицца, пицца!!! – codeforces 979A Примеры

Слайд 15

Пицца, пицца, пицца!!! – codeforces 979A

Достаточно знать, что если N+1 (число друзей

Пицца, пицца, пицца!!! – codeforces 979A Достаточно знать, что если N+1 (число
Ширы и она сама) – нечетное, то нам понадобится N+1 разрезов, а если четное – N/2.
Также следует учитывать, что если N+1=1, то пиццу разрезать не нужно.

Слайд 16

Пицца, пицца, пицца!!! – codeforces 979A

#include
using namespace std;
int main(){
long long

Пицца, пицца, пицца!!! – codeforces 979A #include using namespace std; int main(){
n;
cin>>n;
n++;
if (n == 1)
cout<<0< else if (n % 2 == 0)
cout< else cout< return 0;
}

Слайд 17

Прыгающая лягушка – codeforces 1077A

Сейчас лягушка стоит в позиции 0 на координатной

Прыгающая лягушка – codeforces 1077A Сейчас лягушка стоит в позиции 0 на
оси Ox. Она прыгает по следующему алгоритму: первый прыжок — на a вправо, второй прыжок — на b влево, третий прыжок — на a вправо, четвёртый прыжок — на b влево, и так далее.
Формально:
если лягушка уже прыгнула четное число раз (перед текущим прыжком), то она прыгает от ее текущей позиции x в позицию x+a;
иначе она прыгает от ее текущей позиции x в позицию x−b.
Ваша задача — найти позицию лягушки после k прыжков.
Но... Кое-что еще. Вы наблюдаете за t различными лягушками, так что вам нужно ответить на t независимых запросов.

Слайд 18

Прыгающая лягушка – codeforces 1077A

 

Прыгающая лягушка – codeforces 1077A

Слайд 19

Прыгающая лягушка – codeforces 1077A

Примеры

Прыгающая лягушка – codeforces 1077A Примеры

Слайд 20

Прыгающая лягушка – codeforces 1077A

Для решения данной задачи достаточно посчитать итоговое расстояния,

Прыгающая лягушка – codeforces 1077A Для решения данной задачи достаточно посчитать итоговое
которое лягушка преодолеет, прыгнув в каждую сторону. Их разница будет являться одним из ответов.

Слайд 21

Прыгающая лягушка – codeforces 1077A

#include
using namespace std;
int main(){
long

Прыгающая лягушка – codeforces 1077A #include using namespace std; int main(){ long
long n, a, b, c;
cin>>n;
long long *k=new long long [n];
for (int i=0;i {
cin>>a>>b>>c;
k[i]=0-((c/2)*b)+(a*(c-(c/2)));
}
for (int i=0;i cout< return 0;
}

Слайд 22

Уравнение – informatics №260

Решить в целых числах уравнение ax + b =

Уравнение – informatics №260 Решить в целых числах уравнение ax + b
0.
Входные данные: 2 целых числа: a и b.
Выходные данные: все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.

Примеры

Слайд 23

Уравнение – informatics №260

Дано уравнение ax+b=0.
Если a и b оба равны 0,

Уравнение – informatics №260 Дано уравнение ax+b=0. Если a и b оба
то мы получим бесконечное количество решений.
Если a равно нулю, а b - нет, то решений нет т. к. такая комбинация приводит к делению на ноль.
Если b делится на a без остатка, то достаточно вывести a, в противном случае для уравнения нет решения в целых числах.
Имя файла: Разборы-задач-№1---НОК,-математика.pptx
Количество просмотров: 40
Количество скачиваний: 0