Задания
Версия для печати и копирования в MS Word
Тип Д19 № 3391
i

Зна­че­ния эле­мен­тов двух­мер­но­го мас­си­ва A[1..100,1..100] за­да­ют­ся с по­мо­щью сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

Бей­сикПас­каль

FOR i= 1 TO 100

    FOR k=1 TO 100

    IF i > k THEN A(i,k) = 1

    ELSE

        A(i,k) = -1

    NEXT k

NEXT i

for i:=1 to 100 do

    for k:=1 to 100 do

        if i > k then

        A[i,k] := 1

    else A[i,k] := -1;

Си++Ал­го­рит­ми­че­ский язык

for (i=1;i<=100;i++) {

    for (k=1;k<=100;k++) {

        if (i > k) {

            A[i,k] = 1;

        }

        else A[i,k] = -1;

    }

}

нц для i от 1 до 100

    нц для k от 1 до 100

        если i > k

        то A[i][k] := 1

        иначе A[i][k] := -1

    кц

кц

Python

 

for i in range(1, 101):

    for k in range(1, 101):

        if i > k:

            A[i][k] = 1

        else:

            A[i][k] = -1

 

Чему равна сумма эле­мен­тов мас­си­ва после вы­пол­не­ния этого фраг­мен­та про­грам­мы?

Спрятать решение

Ре­ше­ние.

Усло­вие го­во­рит нам, что если номер стро­ки боль­ше но­ме­ра столб­ца, то со­от­вет­ству­ю­щий эле­мент равен 1. В пер­вой стро­ке таких эле­мен­тов нет. Во вто­рой стро­ке это будет толь­ко эле­мент A[2,1], тре­тьей их будет два: A[3,1] и A[3,2] и т. д. В стро­ке с но­ме­ром 100 таких эле­мен­тов будет 99.

 

По фор­му­ле для суммы ариф­ме­ти­че­ской про­грес­сии найдём ко­ли­че­ство таких эле­мен­тов:

 

a1 = 1, an = 99, n = 99, по­это­му N = (1 + 99) / 2 * 99 = 4950.

 

Всего в таб­ли­це 100 * 100 = 10 000 эле­мен­тов. Эле­мен­тов, рав­ных -1, будет 10 000 - 4950 = 5050.

 

Найдём сумму эле­мен­тов: 4950 * 1 + 5050 * (-1) = -100.


Аналоги к заданию № 3368: 3391 Все