number = int(input("Введите натуральное число\n"))
d = int(input("Введите d\n"))
div_sum = even_sum = count = odd_count = even_count = greater_d = 0
print("a)")
for i in range(1, number+1):
if number % i == 0:
count += 1
print(f'{count} делитель числа -> {i} ')
div_sum += i
if i > d:
greater_d += 1
if i % 2 == 0:
even_sum += i
even_count += 1
else:
odd_count += 1
print("б)Сумма всех делителей ->", div_sum)
print("в)Сумма четных делителей ->", even_sum)
print("г)Количество делителей ->", count)
print("д)Количество нечетных делителей ->", odd_count)
print("е)Количество четных делителей ->", even_count)
print("ж)Количество делителей, больших d ->", greater_d)
Объяснение:
ответ на фото надеюсь на 2 фото продолжение
В этой задаче удобно то, что если необходимо изменить значение размера массива, достаточно изменить соответствующую константу (SIZE1 или SIZE2). Так нам не придется менять эти значения ни в объявлении массивов, ни в параметрах при вызове функции.
Отдельно хочется сказать о передаче в функцию массива, как параметра. Мы говорили в уроке, что при вызове функции создаются точные копии переменных и все изменения происходят именно с этими копиями, а не с переменными. Так что при выходе из функции, переменные не изменят свое значение. Если всё же надо изменить значение переменных в функции – делается это с ссылок или указателей, которые мы рассмотрим в следующих уроках. С массивами дело обстоит иначе. Все что происходит с элементами массива в функции, сохраняется и после выхода из неё. Это происходит потому, что имя массива – это и есть указатель на его первый элемент.
Когда необходимо передать в функцию одномерный массив, при её определении надо указать пустые [ ] скобки после имени параметра, обозначающего массив. В нашей задаче – void fillAndShowArray(int arrayForFilling[], int size) . Если надо передать двумерный массив – первые квадратные скобки оставляют пустыми, а во вторые надо внести значение. Например void fillAndShowArray(int arrayForFilling[][3], int size)
Чтобы передать в функцию массив, при её вызове – достаточно использовать имя массива. Скобки и размер писать не надо (строки 14 – 15).