Задача:
Вычислить отношение произведения цифр натурального числа к их сумме.
Входные данные
Натуральное число [latex]n[/latex], не превышающее 2·109.
Выходные данные:
Вывести отношение произведения цифр числа [latex]n[/latex] к их сумме с 3 десятичными цифрами.
Тесты:
Входные данные | Выходные данные |
12345 | 8.000 |
5043 | 0.000 |
45 | 2.222 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner x = new Scanner(System.in); int n, summ = 0, mult = 1; double ratio; n = x.nextInt(); while(n != 0 && n) { summ += n % 10; mult *= n % 10; n /= 10; } ratio = (double)mult/summ; System.out.printf("%.3f", ratio); } } |
Алгоритм:
Для решения поставленной задачи нам нужно выделить отдельные цифры в записи данного числа, чтобы сосчитать их произведение и сумму. Воспользуемся циклом while. С помощью остатка от деления числа на 10 получаем последнюю цифру текущего числа, затем делим это число на 10. Получившиеся значения произведения и суммы цифр данного числа разделим, предварительно воспользовавшись явным преобразованием к типу [latex]double[/latex], и присвоим получившееся значение переменной ratio. Ответ с тремя десятичными цифрами после точки выводим с помощью метода [latex]printf[/latex]
Задача на e-olymp.com
Решение на e-olymp.com
Код программы на ideone.com