четверг, 28 февраля 2019 г.
вторник, 26 февраля 2019 г.
четверг, 21 февраля 2019 г.
вторник, 19 февраля 2019 г.
c#
Ставимо компоненти чотири кнопки. Двa Label, Listview Налаштовуємо їх, перейменовуємо їх, привязуємо до форми тощо
Кнопки:
button_create,button_add_file, button_open,button_extract_file
мітки- верхня label_filename, нижня - label_error
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
і створюємо відповідні процедури при натисканні на кожну кнопку, описуємо їх.
Створюємо клас Archiver. і описуємо його.
Кнопки:
button_create,button_add_file, button_open,button_extract_file
мітки- верхня label_filename, нижня - label_error
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
і створюємо відповідні процедури при натисканні на кожну кнопку, описуємо їх.
Створюємо клас Archiver. і описуємо його.
catch (Exception ex)
{
SetError(ex.Message);
return false;
}
}
Після описуємо файл головної формисреда, 13 февраля 2019 г.
четверг, 3 января 2019 г.
C#
Лифт
Чтобы поднять на N-й этаж M-этажного дома новый холодильник, Витя вызвал бригаду грузчиков. Оплата работы грузчиков производится так: за подъем холодильника на один этаж требуется заплатить 200 рублей, за спуск на один этаж - 100 рублей. За подъем и спуск на лифте плата не взимается. Несмотря на то, что в Витином доме есть лифт, ему возможно все же придется заплатить грузчикам, поскольку лифт останавливается только на каждом K-м этаже, начиная с первого (то есть на этажах с номерами 1, K+1, 2K+1, 3K+1, ...). Требуется вычислить, какой минимальной суммы денег достаточно, чтобы грузчики доставили холодильник с первого этажа на N-й.
Входные данные
Во входном файле записаны три числа: M (2 ≤ M ≤ 100), N (2 ≤ N ≤ M) и K (2 ≤ K ≤ M-1), разделенные пробелами.
Выходные данные
Выведите одно число - минимальную стоимость подъема холодильника.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані
Sample 1
20 7 4
Sample 2
20 7 2
Вихідні дані
Sample 1
200
Sample 2
0
Чтобы поднять на N-й этаж M-этажного дома новый холодильник, Витя вызвал бригаду грузчиков. Оплата работы грузчиков производится так: за подъем холодильника на один этаж требуется заплатить 200 рублей, за спуск на один этаж - 100 рублей. За подъем и спуск на лифте плата не взимается. Несмотря на то, что в Витином доме есть лифт, ему возможно все же придется заплатить грузчикам, поскольку лифт останавливается только на каждом K-м этаже, начиная с первого (то есть на этажах с номерами 1, K+1, 2K+1, 3K+1, ...). Требуется вычислить, какой минимальной суммы денег достаточно, чтобы грузчики доставили холодильник с первого этажа на N-й.
Входные данные
Во входном файле записаны три числа: M (2 ≤ M ≤ 100), N (2 ≤ N ≤ M) и K (2 ≤ K ≤ M-1), разделенные пробелами.
Выходные данные
Выведите одно число - минимальную стоимость подъема холодильника.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані
Sample 1 20 7 4 Sample 2 20 7 2
Вихідні дані
Sample 1 200 Sample 2 0
public static void Main(string[] args) { string setir = Console.ReadLine(); var massiv = setir.Split(' '); int m = int.Parse(massiv[0]); int n = int.Parse(massiv[1]); int k = int.Parse(massiv[2]); int c = ((n - 1)/k)*k + 1; int min = (n - c)*200; if (c + k <= m) min = Math.Min(min, (c + k - n)*100); Console.WriteLine(min); }
Паліндром
Паліндром - це рядок, який однаково читається зліва направо і зправа наліво. Складіть програму, яка перевіряє, чи є заданий текст паліндромом. Не забудьте, що при читанні пропуск ніяк не вимовляється.
Вхідні дані
Рядок S (|S| ≤ 255) складається з рядкових латинських літер і пропусків. Під |S| розуміється довжина рядка.
Вихідні дані
Вивести "YES", якщо текст є паліндромом та "NO" інакше.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
palindrom
Вихідні дані #1
NO
Вхідні дані #2
a roza upala na lapu azora
Вихідні дані #2
YES
private static string Gu(string x) { string y = ""; int len = x.Length; for (int i = 0; i < len; i++) y = x[i] + y; return y; } public static void Main(string[] args) { string s = Console.ReadLine(); s = s.Replace(" ", ""); Console.WriteLine(s == Gu(s) ? "YES" : "NO"); } }
Площа чотирикутника
Визначити площу чотирикутника з вершинами
A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4).Вхідні дані
В одному рядку задано координати послідовних вершин чоторикутника. Всі числа цілі та не перевишують за модулем 100.
Вихідні дані
Вивести площу чотирикутника, округлену до цілих.
Вхідні дані
1 4 5 4 4 2 2 1
Вихідні дані
8
var x1,y1,x2,y2,x3,y3,x4,y4: Integer; s: Real;
begin
readln(x1,y1,x2,y2,x3,y3,x4,y4);
s:=0.5*Abs((x1*y2-y1*x2)+(x2*y3-y2*x3)+(x3*y4-y3*x4)+(x4*y1-y4*x1));
writeln(s:0:0);
end.
Степеневі числа
Число n називається степеневим, якщо його можна отримати з деякого числа множенням на себе хоча б один раз. Наприклад, 4 степеневе число, оскільки 4 = 2 · 2, 27 також степеневе число, бо 27 = 3 · 3 · 3, а 28 не є степеневим числом. Визначити, чи є задані числа степеневими.
Вхідні дані
У першому рядку записано одне натуральне число n - кількість досліджуваних чисел (1 ≤ n ≤ 10). У другому рядку через пропуск записано nчисел - досліджувані числа. Кожне з них більше 1 і менше
109.Вихідні дані
Вивести n рядків. В i-му рядку записати YES, якщо i-те число є степеневим і NO у противному випадку.
public static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
string setir = Console.ReadLine();
var massiv = setir.Split(' ');
int max = 0;
int[] a = new int[n];
for (int i = 0; i < n; i++)
{
a[i] = int.Parse(massiv[i]);
if (a[i] > max) max = a[i];
}
HashSet<long> siyahi = new HashSet<long> {1};
int log = (int) Math.Log(max, 2) + 1;
int kok = (int) Math.Sqrt(max) + 1;
for (int i = 2; i < kok; i++)
{
for (int j = 2; j < log; j++)
{
long cari = (long) Math.Pow(i, j);
if (cari <= max && !siyahi.Contains(cari)) siyahi.Add(cari);
}
}
for (int i = 0; i < n; i++)
{
Console.WriteLine(siyahi.Contains(a[i]) ? "YES" : "NO");
}
Стовбці
Задано таблицю n × n, заповнену цілими числами. Петро Перший вважає стовбець хорошим, якщо той містить число x. Потрібно для кожного стовбця вияснити, чи є той хорошим.
Вхідні дані
У першому рядку задано число x, яке не перевищує по модулю 2 *
109. У другому рядку задано число n (1 ≤ n ≤ 100). Кожен з наступних nрядків містить по n цілих чисел, що не перевищують за модулем 2 *109 - числа у комірках таблиці.Вихідні дані
Для кожного стовбця в окремому рядку виведіть YES, якщо в ньому є число x, і NO у протилежному випадку.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
1 2 0 1 0 0
Вихідні дані #1
NO YES
private static string Yo(int[,] a, int j, int x)
{
int n = (int) Math.Sqrt(a.Length);
for (int i = 0; i < n; i++)
{
if (a[i, j] == x) return "YES";
}
return "NO";
}
public static void Main(string[] args)
{
int x = int.Parse(Console.ReadLine());
int n = int.Parse(Console.ReadLine());
int[,] a = new int[n, n];
for (int i = 0; i < n; i++)
{
string setir = Console.ReadLine();
var massiv = setir.Split(' ');
for (int j = 0; j < n; j++) a[i, j] = int.Parse(massiv[j]);
}
for (int j = 0; j < n; j++) Console.WriteLine(Yo(a, j, x));
}
среда, 26 декабря 2018 г.
Олімпіадні задачі
Квадратний корінь
Знайдіть таке число x, що x2 + SQRT(x) = C з точністю не менше 6 знаків після крапки. Через SQRT(x) позначено корінь квадратний числа x.
Знайдіть таке число x, що
x2 + SQRT(x) = C з точністю не менше 6 знаків після крапки. Через SQRT(x) позначено корінь квадратний числа x.1206
f91
МакКарті - відомий теоретик комп'ютерних наук. У одній зі своїх праць він визначив рекурсивну функцію f91, яка визначена для довільного натурального числа n наступним чином:
Якщо n ≤ 100, то f91(n) = f91(f91(n + 11));
Якщо n ≥ 101, то f91(n) = n - 10.
Вхідні дані
Натуральне число n, не більше за 1000000.
Вихідні дані
Значення f91(n).
Вхідні дані
Sample 1
500
Sample 2
91
Вхідні дані
Sample 1 500 Sample 2 91
Прямокутник
Знаючи координати трьох вершин прямокутника на координатній площині, визначити координати четвертої вершини.
Вхідні дані: В одному рядку записані шість чисел – координати трьох вершин прямокутника. Числові значення цілі, по модулю не більші 100.
Вихідні дані: Два цілих числа - координати четвертої вершини прямокутника.
Вхідні дані
-2 3 4 3 4 -1
Знаючи координати трьох вершин прямокутника на координатній площині, визначити координати четвертої вершини.
Вхідні дані: В одному рядку записані шість чисел – координати трьох вершин прямокутника. Числові значення цілі, по модулю не більші 100.Вихідні дані: Два цілих числа - координати четвертої вершини прямокутника.Вхідні дані-2 3 4 3 4 -1
Подсчитать буквы
Задана строка s и буква c. Сколько раз буква встречается в строке?
Входные данные
Первая строка содержит строку s с не более чем 100 символами. Вторая строка содержит прописную букву латинского алфавита c.
Выходные данные
Выведите сколько раз буква c встречается в строке s. Одна и та же заглавная и прописная буква считаются одинаковыми. То есть'a' и 'A' считаются одинаковыми буквами.
Четные отрицательные в матрице
Задана матрица размера n * n. Найдите количество и сумму ее четных отрицательных чисел.
Входные данные
Первая строка содержит число n (1 ≤ n ≤ 100). Следующие строки содержат матрицу n * n. Элементы матрицы по модулю не больше 100.
Выходные данные
Выведите в одной строке количество и сумму четных отрицательных чисел в матрице.
Вхідні дані #1
3 4 -2 5 1 -4 -12 0 1 -3
Модуль максимального
Задана послідовність дійсних чисел. Обчислимо їх модулі. Знайдіть максимальне значення серед цих модулей.Вхідні дані
У першому рядку задано кількість елементів n (n ≤ 100) у послідовності. У наступному рядку задано n дійсних чисел - елементи послідовності, значення яких не первищують за модулем 100.Вихідні дані
Виведіть максимальне значення серед цих модулей з 2 десятковими знаками.Вхідні дані #15 6 7.5 2.1 2.0 0
Турнір
Два гравці влаштували між собою турнір з дартсу. Турнір являє собою серію, яка складається з n ігор. У кожній грі учасники виконують деяку кількість кидків, набираючи очки. Гра вважається виграною тим з гравців, який набрав у ній очок більше, ніж суперник. Якщо ж гравці набрали порівну очок у грі, то її результат вважається нічийним. Пореможцем турніру оголошується той, хто отримав більше всього перемог.Напишіть програму, яка визначить переможця турніру.Вхідні дані
У першому рядку задано натуральне число n (1 ≤ n ≤ 1000) - кількість ігор у турнірі. У кожному з наступних n рядків задаються по два числа - кількість очок, набраних першим та другим гравцем відповідно. Усі числа є невід'ємними цілими, які не перевищують 1000.Вихідні дані
Виведіть число 1, якщо переможцем турніру є перший гравець, 2 - у випадку перемоги другого гравця, і 0 - якщо турнір не виявив переможця.Вхідні дані #22 1 1 0 5Стойкое число
По числу x определим p(x) как произведение его цифр. Рассмотрим последовательность x, p(x), p(p(x))... Стойкостью x назовем индекс (начиная с 0) первого однозначного числа в этой последовательности. Например, из 99 получим последовательность 99, 9 * 9 = 81, 8 * 1 = 8. Стойкость числа 99 равна 2. По заданному числу n определите его стойкость.Входные данные
Каждая строка содержит одно целое число n (0 ≤ n ≤ 2 *109).Выходные данные
Для каждого значения n выведите в отдельной строке его стойкость.Вхідні дані #199 268 6Вихідні дані #12 4 0Затятий колекціонер метеликів
Як відомо, Андрій Сергійович - затятий колекціонер метеликів. Він має величезну колекцію, експонати якої зібрані зі всього світу. Будемо вважати, що в світі існує 2000000000 видів метеликів.Щоб не заплутатися, Андрій Сергійович присвоїв кожному виду унікальний номер. Нумерація метеликів завжди починається з одиниці. Тепер він хоче знати, чи є метелик з видом k у його колекції, або ж метелика доведеться добувати, витрачаючи безліч сил і грошей.Вхідні дані
У першому рядку міститься кількість видів метеликів n (1 ≤ n ≤ 100000) у колекції Андрія Сергійовича. У наступному рядку знаходяться nупорядкованих за зростанням чисел - номери видів метеликів у колекції. Всі види метеликів у колекції мають різні номери.У третьому рядку записано кількість видів метеликів m (1 ≤ m ≤ 100000), про яких Андрій Сергійович хоче дізнатися, чи є вони у нього в колекції або ж ні. В останньому рядку містяться m чисел - номери видів метеликів, наявність яких необхідно перевірити.Вихідні дані
Вивести m рядків. Для кожного запиту виведіть "YES", якщо метелик із заданим номером міститься у колекції, і "NO" у протилежному випадку.Вхідні дані #17 10 47 50 63 89 90 99 4 84 33 10 82Вихідні дані #1NO NO YES NO
Подписаться на:
Комментарии (Atom)














































