Арифметические операции и вывод в консоль

Задачи 11 — 20

Задача 11

Дана переменная long years = 33, хранящая количество лет. Переведите эти годы в секунды. Постарайтесь обойтись одним наглядным выражением. Выведите результат в консоль.

Простейшее решение выглядит так:

long years = 33;

long seconds = years * 365 * 24 * 60 * 60;


System.out.println(seconds);

При пересчёте одних единиц измерения времени в другие всегда нагляднее пользоваться умножением. Даже если вы знаете, что в сутках, например, 1440 минут, лучше записать это в виде 24 * 60.

Задача 12

Переставьте местами первую и последнюю цифру целого трехзначного числа. Например, 345 в результате работы алгоритма должно превратиться в 543.

Поскольку заранее известно, что число трёхзначное, то писать обобщённое решение необязательно. Можно обойтись простым решением, для которого достаточно вычислить каждую цифру числа.

Первую цифру можно получить, разделив число на 100. Третью — взяв остаток от деления числа на 10. Вторая цифра вычисляется сложнее и представляет основную трудность задачи.

Для получения второй цифры числа 345, например, нужно сначала разделить это число на 10, получится 34. Нам уже известна первая цифра исходного числа — это 3. Теперь из 34 нужно вычленить 4, для этого от 34 отнимает первую цифру 3 умноженную на 10.

И действительно, 345 / 10 - 3 * 10 = 4 (деление, разумеется, проводится без остатка и дробной части).

Собрать новое число, где цифры расположены в нужном порядке, достаточно просто. Ту цифру, которую мы хотим видеть первой, умножаем на 100, вторую на 10, а третью оставляем как есть. Складываем результаты произведений.

Таким образом, итоговый алгоритм может быть следующим:

int i = 345;


int d1 = i / 100;

int d2 = i / 10 - d1*10;

int d3 = i % 10;


int res = d3*100 + d2*10 + d1;


System.out.println(res); //543