Пиріжки
Пиріжок у шкільній їдальні коштує a гривень та b копійок.
Знайдіть скільки гривень та копійок заплатить Петрик за n пиріжків.
Вхідні дані: Три натуральних числа a, b, n (0 ≤ a,b, n ≤ 100).
Вихідні дані: Через пропуск два числа: вартість покупки у гривнях та
копійках.
Вхідні дані
1 25 2
Вихідні дані
2 50
static void Main(string[] args)
{
string s = Console.ReadLine();
var massiv = s.Split(' ');
int a = int.Parse(massiv[0]);
int b = int.Parse(massiv[1]);
int n = int.Parse(massiv[2]);
Console.WriteLine("{0} {1}", (100 * a + b) * n / 100, (100 *
a + b) * n % 100);
}
Ділення на нуль чи...
Як відомо, ділити на нуль не можна. А може ще на щось ділити не
можна? Саме це Вам і потрібно вияснити.
Вхідні дані
У єдиному рядку задано два цілих
знакових 32-бітних числа а та b.
Вихідні дані
Виведіть значення частки, отриманої в
результаті ділення а на b.
Якщо ділення виконати неможливо, вивести ERROR.
Вхідні дані
Sample 1
6 0
Sample 2
8 4
Вихідні дані
Sample 1
ERROR
Sample 2
2
static void Main(string[] args)
{
string s = Console.ReadLine();
var massiv = s.Split(' ');
long a = long.Parse(massiv[0]);
long b = long.Parse(massiv[1]);
if (b == 0) Console.WriteLine("ERROR");
else Console.WriteLine(a / b);
}
IP-адреса
Для того, щоб виходити в Інтернет, кожному комп'ютеру
присвоюється так звана IP-адреса. Вона складається з
чотирьох цілих чисел у діапазоні від 0 до 255,
відокремлених крапками. У наступних трьох рядках показано три правильні IP-адреси:
127.0.0.0
192.168.0.01
255.00.255.255
Напишіть програму, яка визначає, чи є заданий рядок
правильною IP-адресою.
Вхідні дані
На вхід програмі подається рядок довжиною не більше 15 символів,
який включає цифри та рівно три крапки.
Вихідні дані
Якщо
рядок є правильною IP-адресою, необхідно вивести 1,
інакше 0.
Вхідні дані
127.0.0.1
Вихідні дані
1
static void Main(string[] args)
{
string s = Console.ReadLine();
var massiv = s.Split('.');
int a = massiv[0] == "" ? -1 : int.Parse(massiv[0]);
int b = massiv[1] == "" ? -1 : int.Parse(massiv[1]);
int c = massiv[2] == "" ? -1 : int.Parse(massiv[2]);
int d = massiv[3] == "" ? -1 : int.Parse(massiv[3]);
if (a < 0 || a > 255) Console.WriteLine(0);
else
{
if (b < 0 || b > 255) Console.WriteLine(0);
else
{
if (c < 0 || c > 255) Console.WriteLine(0);
else
{
if (d < 0 || d > 255) Console.WriteLine(0);
else Console.WriteLine(1);
}
}
}
}
Мозаїка
У Петі є n квадратних карток. Він хоче скласти з них один великий квадрат (без пустот).
Скільки карток у нього залишиться?
Вхідні дані
Натуральне число n (1 ≤ n ≤
109
).
Вихідні дані
Вивести кількість карток, що залишились.
Вхідні дані #1
1
Вихідні дані #1
0
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
int k = (int)Math.Sqrt(n);
Console.WriteLine(n - k * k);
}
Календар
Маленький Никифор постійно забуває,
скільки йому років. Тому його батьки повісили у його кімнаті календар, де
спеціально відмічено день народження Никифора. Проте порахувати, скільки ж йому
років, за датою народження та поточною датою Никифор сам не вміє. Допоможіть
йому!
Вхідні дані
У першому рядку вхідного файлу задано
три натуральних числа: день, місяць і рік, коли народився Никифор. У другому
рядку задано поточну дату у тому ж форматі. Роки в обох датах не
перевищують 105 і гарантується, що дата народження
Никифора строго раніше поточної дати.
Вихідні дані
У вихідний файл виведіть одне число -
вік Никифора.
Вхідні дані
12 4 2003
17 7 2010
Вихідні дані
7
static void Main(string[] args)
{
string s = Console.ReadLine();
var massiv = s.Split(' ');
int d1 = int.Parse(massiv[0]);
int m1 = int.Parse(massiv[1]);
int y1 = int.Parse(massiv[2]);
s = Console.ReadLine();
massiv = s.Split(' ');
int d2 = int.Parse(massiv[0]);
int m2 = int.Parse(massiv[1]);
int y2 = int.Parse(massiv[2]);
int yash = y2 - y1;
if (m2 < m1 || (m1 == m2
&& d2 < d1)) yash--;
Console.WriteLine(yash);
}
Кількість інформації
При вивченні теми "Кількість інформації" часто доводиться розв'язувати рівняння 2I=N (N відомо, I необхідно знайти). Семикласники не знають логарифмів, тому розв'язують
задачу так: якщо корінь цілий - він є відповіддю. Якщо ж ні, то у розв'язку
вказується два цілих числа, найближчі до кореня.
Вхідні дані
Натуральне число N (N < 1000000000).
Вихідні дані
Розв'язок (див. приклад виведення у прикладах).
Приклади
вхідних даних
|
Приклади вихідних
даних
|
4
|
I=2
|
5
|
2
|
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
double x = Math.Log(n, 2);
int y = (int)x;
if (x == y) Console.WriteLine("I=" + y);
else Console.WriteLine(y + " + (y + 1));
}
Кількість чисел Фібоначчі
Послідовність Фібоначчі - це така послідовність, у якій кожен елемент дорівнює
сумі двох попередніх, за винятком перших двох елементів F1 = 1, F2 = 1, Fn = Fn-2 + Fn-1.
1 1 2
3 5 8 13 21 …
Дано
масив цілих чисел серед яких можливі числа Фібоначчі. Підрахувати кількість
чисел Фібоначчі – в даному наборі чисел.
Вхідні
дані
У першому рядку записано
число k -
кількість чисел, у наступному рядку записано k чисел a1, a2, …, ak (0 < k ≤ 1000, 1 ≤ ai < 263).
Вихідні дані
Ввести
одне число - кількість чисел Фібоначчі.
Вхідні дані
5
1 3 5 6 13
Вихідні дані
4
static void Main(string[] args)
{
List<ulong> siyahi = new List<ulong> { 1, 1 };
ulong[] fib = new ulong[100];
fib[1] = 1;
fib[2] = 1;
for (int i = 3; i < 100; i++)
{
fib[i] = fib[i - 1] + fib[i -
2];
siyahi.Add(fib[i]);
}
int k = int.Parse(Console.ReadLine());
int say = 0;
string s = Console.ReadLine();
var massiv = s.Split(' ');
for (int i = 0; i < k; i++)
{
if (siyahi.Contains(ulong.Parse(massiv[i]))) say++;
}
Console.WriteLine(say);
}
Послідовність Фібоначчі
Послідовність Фібоначчі задано так:
- a0 = 0
- a1 = 1
- ak = ak-1 + ak-2
Для заданого n знайти значення n-го
елемента an послідовності Фібоначчі.
Вхідні дані
Єдине натуральне число N (1 ≤ N ≤ 40).
Вихідні дані
N-ий елемент послідовності Фібоначчі.
Вхідні дані
Sample 1
2
Sample 2
5
Sample 3
8
Вихідні дані
Sample 1
1
Sample 2
5
Sample 3
21
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
int[] fib = new int[n + 1];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i <= n; i++)
{
fib[i] = fib[i - 1] + fib[i -
2];
}
Console.WriteLine(fib[n]);
}
Точка і прямокутник
Визначте,
чи належить точка (X, Y) прямокутнику
з кінцями діагоналі (
X1
, Y1
, X2
, Y2
) і
сторонами, паралельними координатним осям?
Вхідні дані
Шість
дійсних чисел
X
, Y
, X1
, Y1
, X2
, Y2
-
координати точки та координати кінців діагоналі прямокутника, відповідно.
Числові значення по модулю не перевищують 100.
Вихідні дані
Вивести 1, якщо точка
належить прямокутнику, або 0, якщо ні.
Вхідні дані
1 2 3 4 0 0
Вихідні дані
1
static void Main(string[] args)
{
string setir = Console.ReadLine();
var massiv = setir.Split(' ');
double x = double.Parse(massiv[0]);
double y = double.Parse(massiv[1]);
double x1 = double.Parse(massiv[2]);
double y1 = double.Parse(massiv[3]);
double x2 = double.Parse(massiv[4]);
double y2 = double.Parse(massiv[5]);
double minX = Math.Min(x1, x2);
double minY = Math.Min(y1, y2);
double maxX = Math.Max(x1, x2);
double maxY = Math.Max(y1, y2);
if (minX <= x && x <=
maxX && minY <= y && y <= maxY) Console.WriteLine(1);
else Console.WriteLine(0);
}
Клітинки в колі
На аркуші паперу в клітинку
намальовано коло з радіусом R і
з центром на перетині ліній клітинок. Скільки повних клітинок міститься у
даному колі.
Вхідні дані
В єдиному рядку записано одне ціле невід'ємне число R - радіус
кола. 0 ≤ R ≤ 1000.
Вихідні
дані
Одне число - кількість цілих клітинок.
Вхідні дані
2
Вихідні дані
4
static void Main(string[] args)
{
double r=double.Parse(Console.ReadLine());
int answer = 0;
for (double x = 1; x < r; x = x + 1)
answer += (int)Math.Sqrt(r * r - x * x);
answer *= 4;
Console.WriteLine(answer);
}
Трикутник
Визначте, чи можна
отримати два трикутники з заданими довжинами сторін, розрізавши деякий
прямокутник одним розрізом і вільно обертаючи і перевертаючи отримані куски.
Вхідні дані
Cкладається з
двох рядків. Перший рядок містить три натуральних числа - довжини сторони
першої трикутника. Друга рядок містить три натуральних числа - довжини сторони
другого трикутника. Відомо, що трикутники є коректними. Всі довжини сторін не
більше 100.
Вихідні дані
Зведіть, чи існує
прямокутник, який можна було б розрізати на трикутники з заданими довжинами
сторін. Якщо такий прямокуник існує, виведіть ТАК. В противному випадку
виведіть НІ.
Пусть a,
b, c – длины сторон первого треугольника, d, e, f – длины сторон второго треугольника. Отсортируем стороны
треугольников так чтобы выполнялись неравенства a ≤ b ≤ c и d ≤ e ≤ f. Из двух треугольников можно сложить прямоугольник только если
их соответствующие стороны попарно равны (a = d, b = e, c = f) и
если оба треугольника являются прямоугольными (a2 + b2 = c2, d2 + e2 = f2).
static void Main(string[] args)
{
string s = Console.ReadLine();
var massiv = s.Split(' ');
int a = int.Parse(massiv[0]);
int b = int.Parse(massiv[1]);
int c = int.Parse(massiv[2]);
string ss = Console.ReadLine();
var massiv1 = ss.Split(' ');
int d = int.Parse(massiv1[0]);
int e = int.Parse(massiv1[1]);
int f = int.Parse(massiv1[2]);
int t;
if (a > c) { t = a; a = c; c =
t; }
if (b > c) { t = b; b = c; c =
t; }
if (a > b) { t = a; a = b; b =
t; }
if (d > f) {t = d; d = f; f = t; }
if (e > f) {t = e; e = f; f = t; }
if (d > e) {t = d; d = e; e = t; }
Console.WriteLine((a == d && b
== e && c == f && a * a + b * b == c * c ? "YES\n" : "NO\n"));
Console.ReadKey(true);
}
Комментариев нет:
Отправить комментарий