Составьте программу для вычисления среднего арифметического всех делителей заданного натурального числа N, которые кратны 3. Если делителей нет, выведите 0. (Число N и единица считаются делителями.) Формат входных данных: во входном файле содержится число N (1≤N≤1000). Формат выходных данных: выведите искомое значение с точностью не менее 10^−9. Примеры: Вход: 6 Выход: 4.5000000000
Dzhek
Хорошо, чтобы решить эту задачу, мы можем использовать следующий алгоритм:
1. Создайте переменную `sum` и установите ее равной нулю.
2. Создайте переменную `count` и установите ее равной нулю.
3. Используйте цикл для перебора всех чисел от 1 до `N`.
4. Проверьте, является ли текущее число делителем `N` и кратным 3.
5. Если это так, увеличьте `sum` на значение текущего числа и увеличьте `count` на 1.
6. После завершения цикла, проверьте значение `count`.
7. Если `count` равно нулю, выведите 0.
8. Если `count` отлично от нуля, вычислите среднее арифметическое делителей, кратных 3, путем деления `sum` на `count`.
9. Выведите значение среднего арифметического с точностью не менее 10^−9.
Вот программа на языке Python, которая реализует этот алгоритм:
Надеюсь, это поможет вам решить данную задачу.
1. Создайте переменную `sum` и установите ее равной нулю.
2. Создайте переменную `count` и установите ее равной нулю.
3. Используйте цикл для перебора всех чисел от 1 до `N`.
4. Проверьте, является ли текущее число делителем `N` и кратным 3.
5. Если это так, увеличьте `sum` на значение текущего числа и увеличьте `count` на 1.
6. После завершения цикла, проверьте значение `count`.
7. Если `count` равно нулю, выведите 0.
8. Если `count` отлично от нуля, вычислите среднее арифметическое делителей, кратных 3, путем деления `sum` на `count`.
9. Выведите значение среднего арифметического с точностью не менее 10^−9.
Вот программа на языке Python, которая реализует этот алгоритм:
N = int(input())
sum = 0
count = 0
for i in range(1, N+1):
if N % i == 0 and i % 3 == 0:
sum += i
count += 1
if count == 0:
print("0")
else:
average = sum / count
print("{:.10f}".format(average))
Надеюсь, это поможет вам решить данную задачу.
Знаешь ответ?