vtarasyuk
?>

Составьте программу на языке Паскаль для вычисления суммы: Р = 4 + 7 +10 + 13. . . + K , где P > 4

Информатика

Ответы

imosal

var K, P, i: integer;

begin

read(K);

i := 1;

while i < K do

begin

i := i + 3;

P := P + i;

end;

Print(P);

end.

или:

begin

var K := ReadInteger('K:');

Print((4+K)/2*((K-4)/3+1));

end.

vasavto1
Судя по всему, здесь в цикле складываются квадраты всех нечетных чисел от m до n включительно.

m & 1 - это битовая конъюнкция. Результатом будет 1, если m нечетное, и 0, если m - четное (то есть, содержит или не содержит соответствующий разряд)

Выражение вида T ? X : Y, где T - логическое высказывание, принимает значение X, если T истинно, и Y, если T ложно.

Соответственно, i = (m & 1) == 1 ? m : m + 1 означает, что
если m нечетное, то i = m
если четное, i = m+1 (то есть, первое нечетное число после m)

i += 2 означает, что цикл идет с шагом, соответственно, рассматриваются только нечетные числа.
lanac3po
Прямого кода. Прямой код двоичного числа совпадает по изображению с записью самого числа.
обратного кода. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
дополнительного кода. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составьте программу на языке Паскаль для вычисления суммы: Р = 4 + 7 +10 + 13. . . + K , где P > 4
Ваше имя (никнейм)*
Email*
Комментарий*