Типы данных решение задачи программирование

Типы данных Java: упражнения, практика, решение

Упражнения типов данных Java [10 упражнений с решением]

[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]

1. Напишите Java-программу для преобразования температуры из Фаренгейта в градусы Цельсия. Перейти к редактору
Тестовые данные
Введите степень в градусах Фаренгейта: 212
Ожидаемый результат :
212.0 градусов по Фаренгейту равна 100.0 по Цельсию

2. Напишите программу на Java, которая считывает число в дюймах и преобразует его в метры. Перейти к редактору
Примечание. Один дюйм равен 0,0254 метра.
Тестовые данные
Введите значение для дюйма: 1000
Ожидаемый результат :
1000,0 дюйма — это 25,4 метра

3. Напишите программу на Java, которая читает целое число от 0 до 1000 и добавляет все цифры в целое число. Перейти к редактору

Тестовые данные
Введите целое число от 0 до 1000: 565
Ожидаемый результат :
Сумма всех цифр в 565 равна 16

4. Напишите программу на Java для преобразования минут в количество лет и дней. Перейти к редактору

Тестовые данные
Введите количество минут: 3456789
Ожидаемый результат :
3456789 минут — это примерно 6 лет и 210 дней

5. Напишите программу на Java, которая печатает текущее время в GMT. Перейти к редактору

Тестовые данные
Введите смещение часового пояса в GMT: 256
Ожидаемый результат :
Текущее время 23:40:24

6. Напишите программу на Java для вычисления индекса массы тела (BMI). Перейти к редактору

Тестовые данные
Вес ввода в фунтах: 452
Высота ввода в дюймах: 72
Ожидаемый результат :
Индекс массы тела 61,30159143458721

7. Напишите программу на Java, чтобы определить для пользователя расстояние (в метрах) и время (три цифры: часы, минуты, секунды) и отобразить скорость в метрах в секунду, километрах в час и милях в час (подсказка: 1 миля = 1609 метров). Перейти к редактору

Тестовые данные
Расстояние ввода в метрах: 2500
Входной час: 5
Минут ввода: 56
Входные секунды: 23
Ожидаемый результат :
Ваша скорость в метрах / секунду равна 0,11691531
Ваша скорость в км / ч составляет 0,42089513
Ваша скорость в милях / час составляет 0,26158804

8. Напишите программу на Java, которая читает число и отображает квадрат, куб и четвертую степень. Перейти к редактору

Ожидаемый результат :
Площадь: .2f
Куб: .2f
Четвертая сила: 50625,00

9. Напишите программу на Java, которая принимает два целых числа от пользователя, а затем печатает сумму, разницу, произведение, среднее значение, расстояние (разница между целыми числами), максимум (большее из двух целых чисел), минимум (меньшее из двух целых чисел). Перейти к редактору

Тестовые данные
Введите 1-е целое число: 25
Введите второе целое число: 5
Ожидаемый результат :
Сумма двух целых чисел: 30
Разница двух целых чисел: 20
Произведение из двух целых чисел: 125
Среднее из двух целых чисел: 15,00
Расстояние двух целых чисел: 20
Макс целое число: 25
Мин целое число: 5

10. Напишите программу на Java, чтобы разбить целое число на последовательность отдельных цифр. Перейти к редактору

Тестовые данные
Введите шесть неотрицательных цифр: 123456
Ожидаемый результат :
1 2 3 4 5 6

Редактор кода Java:

Еще не все !

Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.

Источник

Решение задач на С++

Задача A. Кролики
Пусть есть n клеток и m зайцев, которых рассадили по этим клеткам. Вам требуется расcчитать максимальное количество зайцев, которое гарантированно окажется в одной клетке (по принципу Дирихле).
В первой строке входного файла записаны два натуральных числа n и m. (1 ≤ n, m ≤ 10 9 ).

  1. int n, m, count = 0;
  2. cin >> n >> m;
  3. count = m / n;
  4. m %= n;
  5. if (m)
  6. count++;
  7. cout

Задача B. Сумма от 1 до N
Сумму всех целых чисел от 1 до 100 можно посчитать при помощи хитрого приема.
Разобьем все числа по парам 1 и 100, 2 и 99, 3 и 98 и т.д. Сумма каждой пары 101. Пар всего 100 пополам (50). Поэтому сумма равна

Дано одно целое число N. Гарантируется, что ответ «помещается» в тип long long (в Си). Найти сумму всех целых чисел от 1 до N.

  1. long long sum_modul( long long n)
  2. if (n&1)
  3. return (n+1)/2*n;
  4. else
  5. return n/2*(n+1);
  6. >
  7. int main()
  8. freopen( «input.txt» , «r» ,stdin);
  9. freopen( «output.txt» , «w» ,stdout);
  10. long long n, s;
  11. cin >> n;
  12. if (n > 0)
  13. s = sum_modul(n);
  14. else
  15. s = -sum_modul(-n) + 1;
  16. cout
  17. return 0;
  18. >

P.S.
1) Важно заметить, что в условии задачи гарантируется, что лишь ответ помещается в тип long long. А на промежутчные вычисления такой гарантии не дается, поэтому в функции sum_modul формулу подсчета стоит модифицировать так, чтобы сначала происходило деление на 2, а только потом умножение. Таким образом мы предохраняемся от переполнения типа. Целочисленно делить на 2 без потерь, конечно, нужно четное число, поэтому заранее проверяем в строке 3, что является четным: само значение n или n+1.
2) Второй подводный камень условия – нет гарантии исключения отрицательности конечного значения N. Поэтому в строках 16 и 18 учитываем особенности знака.

Задача C. k-я секунда суток
Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток.
На вход программе подается целое число k (0 ≤ k ≤ 86399). Выведите на экран фразу:
It is . hours . minutes.
Вместо многоточий программа должна выводить значения h и m, отделяя их от слов ровно одним пробелом.

P.S. Нужно обратить внимание, что в условии задачи просится найти сколько прошло полных часов и минут, т.е. если идет 60-ая секунда, то это значит, что прошло полных только 59 секунд, но никак не минута. Поэтому первым делом в 3-ей строке кода избавляемся от “идущей” незавершившейся секунды: s — .

Задача D. Часовая стрелка
Часовая стрелка повернулась с начала суток на d градусов. Определите, сколько сейчас целых часов h и целых минут m. На вход программе подается целое число d (0 ≤ d < 360). Выведите на экран фразу:
It is . hours . minutes.
Вместо многоточий программа должна выводить значения h и m, отделяя их от слов ровно одним пробелом.

Задача E. Без циклов
В книге на одной странице помещается k строк. Таким образом, на 1-й странице печатаются строки с 1-й по k-ю, на второй — с (k+1)-й по (2k)-ю и т. д. Напишите программу, по номеру строки в тексте определяющую номер страницы, на которой будет напечатана эта строка, и порядковый номер этой строки на странице.
На вход программе подаются число k — количество строк на странице и число n — номер строки в тексте (1 ≤ k ≤ 200, 1 ≤ n ≤ 20000).

  1. int k, n, page, line;
  2. cin >> k >> n;
  3. page = (n — 1) / k + 1;
  4. line = (n — 1) % k + 1;
  5. cout

Задача F. Два момента времени
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, потом минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени.
В первой строке входных данных находятся три целых числа — часы, минуты и секунды первого момента времени. Во второй строке — три числа, характеризующие второй момент времени. Число часов лежит в диапазоне от 0 до 23, число минут и секунд — от 0 до 59.

  1. int h1, m1, s1;
  2. cin >> h1 >> m1 >> s1;
  3. int h2, m2, s2;
  4. cin >> h2 >> m2 >> s2;
  5. s1 = s1 + m1*60 + h1*3600;
  6. s2 = s2 + m2*60 + h2*3600;
  7. cout

Источник

Читайте также:  Определение базисного решения задачи линейного программирования
Оцените статью