Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
sb-fixer authored Jun 11, 2019
0 parents commit 0cb03e0
Show file tree
Hide file tree
Showing 54 changed files with 2,147 additions and 0 deletions.
35 changes: 35 additions & 0 deletions 1.3.Step12.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
1.3 Целые числа. Шаг 12
Электронные часы
Электронные часы показывают время в формате h : mm:ss(от 0:00 : 00 до 23 : 59 : 59),
то есть сначала записывается количество часов, потом обязательно двузначное количество минут,
затем обязательно двузначное количество секунд.Количество минут и секунд при необходимости
дополняются до двузначного числа нулями.
С начала суток прошло N секунд.Выведите, что покажут часы.
Формат входных данных:
На вход дается натурально число N, не превосходящее 107 (10000000).
Формат выходных данных:
Выведите ответ на задачу.
Sample Input 1: 3602
Sample Output 1: 1 : 00 : 02
Sample Input 2 :129700
Sample Output 2 : 12 : 01 : 40
*/
#include <iostream>

using namespace std;

int main() {
int n;
while (true)
{
cin >> n;
cout << n / 3600 % 24 << ':' << n / 60 % 60 / 10 << n / 60 % 10 << ":" << n % 60 / 10 << n % 60 % 10;
}
return 0;
}
32 changes: 32 additions & 0 deletions 1.3.Step15.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
1.3 Целые числа. Шаг 15
Симметричное число
Дано четырехзначное число.Определите, является ли его десятичная запись симметричной.Если число симметричное, то выведите 1,
иначе выведите любое другое целое число.Число может иметь меньше четырех знаков, тогда нужно считать,
что его десятичная запись дополняется слева незначащими нулями.
Формат входных данных:
Вводится единственное число.
Формат выходных данных:
Выведите одно целое число - ответ на задачу.
Sample Input 1: 2002
Sample Output 1: 1
Sample Input 2: 2008
Sample Output 2: 37
*/
#include <iostream>

using namespace std;

int main(){
int n;
while (true)
{
cin >> n;
cout << 1 + n / 100 - (n % 10) * 10 - (n % 100) / 10 << endl;
}
return 0;
}
29 changes: 29 additions & 0 deletions 1.3.Step16.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
1.3 Целые числа. Шаг 16
Улитка
Улитка ползет по вертикальному шесту высотой H метров, поднимаясь за день на A метров,
а за ночь спускаясь на B метров. На какой день улитка доползет до вершины шеста?
Формат входных данных:
Программа получает на вход целые неотрицательные числа H, A, B, причем H > B. Числа не превосходят 100.
Формат выходных данных:
Программа должна вывести одно натуральное число. Гарантируется, что A > B.
Sample Input: 10 3 2
Sample Output: 8
*/
#include <iostream>

using namespace std;

int main(){
int h, a, b;
while (true)
{
cin >> h >> a >> b;
cout << 1 + (h - b - 1) / (a - b) << endl; //вычисляем дни с округлением вверх: 1+((h-a)+(a-b)-1)/(a-b)
}
return 0;
}
43 changes: 43 additions & 0 deletions 1.4.Step10.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
1.4 Условный оператор. Шаг 10
Шахматный слон ходит по диагонали. Даны две различные клетки шахматной доски, определите,
может ли слон попасть с первой клетки на вторую одним ходом.
Формат входных данных:
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки
сначала для первой клетки, потом для второй клетки.
Формат выходных данных:
Программа должна вывести YES, если из первой клетки ходом слона можно попасть во вторую или
NO в противном случае.
Sample Input: 4 4 5 5
Sample Output: YES
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int x1, x2, y1, y2;
cin >> x1 >> y1 >> x2 >> y2;
/*
int r;
r = x1 * 10 + y1 - x2 * 10 - y2;
if (r % 9 == 0 || r % 11 == 0) {
cout << "YES";
} else {
cout << "NO";
}*/

int x, y;
x = (x1 - x2);
y = (y1 - y2);
if (x * x == y * y) {
cout << "YES";
} else {
cout << "NO";
}
}
return 0;
}
35 changes: 35 additions & 0 deletions 1.4.Step11.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
1.4 Условный оператор. Шаг 11
Шахматный ферзь ходит по диагонали, горизонтали или вертикали.
Даны две различные клетки шахматной доски, определите,
может ли ферзь попасть с первой клетки на вторую одним ходом.
Формат входных данных
Программа получает на вход четыре числа от 1 до 8 каждое,
задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Формат выходных данных
Программа должна вывести YES, если из первой клетки ходом ферзя можно попасть во вторую
или NO в противном случае.
Sample Input 1: 1 1 2 2
Sample Output 1: YES
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int x1, x2, y1, y2;
cin >> x1 >> y1 >> x2 >> y2;
int x, y;
x = x1 - x2;
y = y1 - y2;
if (x * x == y * y || x1 == x2 || y1 == y2) {
cout << "YES";
} else {
cout << "NO";
}
}
return 0;
}
39 changes: 39 additions & 0 deletions 1.4.Step12.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
1.4 Условный оператор. Шаг 12
Шахматный конь ходит буквой “Г” — на две клетки по вертикали в любом направлении и
на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски,
определите, может ли конь попасть с первой клетки на вторую одним ходом.
Формат входных данных
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и
номер строки сначала для первой клетки, потом для второй клетки.
Формат выходных данных
Программа должна вывести YES, если из первой клетки ходом коня можно попасть во вторую
или NO в противном случае.
Sample Input 1: 1 1 1 4
Sample Output 1: NO
Sample Input 2: 1 1 8 8
Sample Output 2: NO
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int x1, x2, y1, y2;
cin >> x1 >> y1 >> x2 >> y2;
int x, y;
x = x1 - x2;
y = y1 - y2;
x *= x;
y *= y;
if (x + y == 5) {
cout << "YES";
} else {
cout << "NO";
}
}
return 0;
}
32 changes: 32 additions & 0 deletions 1.4.Step13.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
1.4 Условный оператор. Шаг 13
Шоколадка имеет вид прямоугольника, разделенного на N×M долек.
Шоколадку можно один раз разломить по прямой на две части.
Определите, можно ли таким образом отломить от шоколадки ровно K долек.
Формат входных данных:
Программа получает на вход три числа: N, M, K
Формат выходных данных:
Программа должна вывести одно из двух слов: YES или NO.
Sample Input 1: 4 2 6
Sample Output 1: YES
Sample Input 2: 2 10 7
Sample Output 2: NO
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int n, m, k;
cin >> n >> m >> k;
if (n * m >= k && (k % n == 0 || k % m == 0)) {
cout << "YES";
} else {
cout << "NO";
}
}
return 0;
}
63 changes: 63 additions & 0 deletions 1.4.Step14.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
1.4 Условный оператор. Шаг 13
Яша плавал в бассейне размером N×M метров и устал. В этот момент он обнаружил,
что находится на расстоянии X метров от одного из длинных бортиков (не обязательно от ближайшего) и
Y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша,
чтобы выбраться из бассейна на бортик?
Формат входных данных:
Программа получает на вход числа N, M, X, Y.
Формат выходных данных:
Программа должна вывести число метров, которое нужно проплыть Яше до бортика.
Sample Input: 23 52 8 43
Sample Output: 8
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int n, m, x, y;
cin >> n >> m >> x >> y;
/*
if (n > m) {
int tmp;
tmp = m;
m = n;
n = tmp;
}
int min = 0;
if ((n - x) < x) {
min = n - x;
} else {
min = x;
}
if ((m - y) < min) {
min = m - y;
} else if (y < min) {
min = y;
}
cout << min << endl << endl;
*/
if (n > m) {
n = n + m;
m = n - m;
n = n - m;
}
if (2 * x > n) {
x = n - x;
}
if (2 * y > m) {
y = m - y;
}
if (x < y) {
cout << x;
} else {
cout << y;
}
}
return 0;
}
74 changes: 74 additions & 0 deletions 1.4.Step15.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
1.4 Условный оператор. Шаг 15
Дано три числа. Упорядочите их в порядке неубывания.
Формат входных данных:
Вводятся три числа.
Формат выходных данных:
Выведите ответ на задачу.
Sample Input: 1 2 1
Sample Output: 1 1 2
*/
#include <iostream>

using namespace std;

int main() {
while (true) {
int a, b, c;
cin >> a >> b >> c;
/*
int tmp = 0;
if (a > b) {
tmp = a;
a = b;
b = tmp;
}
if (a > c) {
tmp = a;
a = c;
c = tmp;
}
if (b > c) {
tmp = b;
b = c;
c = tmp;
}
*/
/*
if (a > b) {
a = a + b;
b = a - b;
a = a - b;
}
if (a > c) {
a = a + c;
c = a - c;
a = a - c;
}
if (b > c) {
b = b + c;
c = b - c;
b = b - c;
}
*/
if (a > b) {
a += b;
b = a - b;
a += -b;
}
if (a > c) {
a += c;
c = a - c;
a += -c;
}
if (b > c) {
b += c;
c = b - c;
b += -c;
}
cout << a << " " << b << " " << c;
}
return 0;
}
Loading

0 comments on commit 0cb03e0

Please sign in to comment.