Подскажите как решать задачу. Составьте программу вычисления суммы квадратов нечетных делителей натурального числа M
АрТиЛлЕрИсТ. Если кто-то захочет помочь, то он поможет, а поучения свои пожалуйста держи при себе.
Язык паскаль.
АрТиЛлЕрИсТ. Если кто-то захочет помочь, то он поможет, а поучения свои пожалуйста держи при себе.
Язык паскаль.
(1..(n/2)).each do |m| if ( (n % m == 0) & (m % 2 == 0)) then s = s + m*m; end;
Какой язык программирования?
По умолчанию Паскаль. Подскажу идею. Максимальный делитель числа M не может быть больше M/2. Поэтому будет цикл for i := 1 to trunc(M/2)...
В него надо включить условие, проверяющее, делится ли M на i и делится ли i на два. Если M делится на i и остаток от деления i на 2 не равен нулю, то это число нам подходит, поэтому возводим его в квадрат и присваиваем в накопитель суммы тоже подходящих делителей.
Ну тогда алгоритм, как я написал.
n := 0;
for i := 1 to trunc(M/2) do
if((m mod i = 0) and (i mod 2<>0)) then n := n+i*i;
Проверьте, этот кусок программы должен работать.