1) Напишите программу на C++, которая запрашивает три цифры (от 0 до 9) и выводит число, получающееся из этих цифр в том же порядке, что и при вводе. Пример: Ввод: 1 2 3 -> Вывод: 123 Ввод: 0 1 2 -> Вывод: 12 2) Пользователь вводит с клавиатуры число больше нуля, необходимо вывести все его цифры, начиная с конца. Пример: Ввод: 12345 -> Вывод: 54321 3) В первый день улитка проползла 15 см. Каждый следующий день она проползала на 2 см дальше. Определите, какое общее расстояние проползёт улитка через N дней. 4) Пользователь вводит с клавиатуры целое шестизначное число. Напишите программу, которая определяет, является ли введённое число счастливым (счастливым считается шестизначное число, у которого сумма первых трёх цифр равна сумме вторых трёх цифр). 5) На чемодане стоит трёхзначный код. Он состоит из цифр, которые не повторяются. Напишите программу, которая выведет все возможные такие комбинации цифр. А также определите, сколько времени понадобится для открытия чемодана в худшем случае, если на один такой набор уходит 3 секунды.
Ответы на вопрос
1) Число из трёх цифр в том же порядке:
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
cout << a * 100 + b * 10 + c;
return 0;
}
Если первая цифра равна \(0\), например \(0\ 1\ 2\), получится число \(12\), потому что ведущий ноль у числа не выводится.
2) Вывести цифры числа с конца:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
while (n > 0) {
cout << n % 10;
n /= 10;
}
return 0;
}
3) Расстояние улитки за \(N\) дней:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int distance = 15;
int sum = 0;
for (int day = 1; day <= n; day++) {
sum += distance;
distance += 2;
}
cout << sum;
return 0;
}
4) Проверка счастливого шестизначного числа:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a = n / 100000;
int b = n / 10000 % 10;
int c = n / 1000 % 10;
int d = n / 100 % 10;
int e = n / 10 % 10;
int f = n % 10;
if (a + b + c == d + e + f)
cout << "YES";
else
cout << "NO";
return 0;
}
5) Все трёхзначные коды без повторения цифр:
#include <iostream>
using namespace std;
int main() {
int count = 0;
for (int a = 0; a <= 9; a++) {
for (int b = 0; b <= 9; b++) {
for (int c = 0; c <= 9; c++) {
if (a != b && a != c && b != c) {
cout << a << b << c << endl;
count++;
}
}
}
}
cout << "Count: " << count << endl;
cout << "Time: " << count * 3 << " seconds";
return 0;
}
Если код может начинаться с нуля, всего комбинаций \(10 \cdot 9 \cdot 8 = 720\). В худшем случае понадобится \(720 \cdot 3 = 2160\) секунд, то есть 36 минут.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

