aregaa
?>

Информатика егэ №13373. проверьте, правильно ли написана программа на python, и является ли она эффективной по времени и по памяти: на спут­ни­ке «вос­ход» уста­нов­лен при­бор, пред­на­зна­чен­ный для из­ме­ре­ния сол­неч­ной ак­тив­но­сти. в те­че­ние вре­ме­ни экс­пе­ри­мен­та (это время из­вест­но за­ра­нее) при­бор каж­дую ми­ну­ту пе­ре­даёт в об­сер­ва­то­рию по ка­на­лу связи по­ло­жи­тель­ное целое число, не пре­вы­ша­ю­щее 1000, — ко­ли­че­ство энер­гии сол­неч­но­го из­лу­че­ния, по­лу­чен­ной за по­след­нюю ми­ну­ту, из­ме­рен­ное в услов­ных еди­ни­цах. после окон­ча­ния экс­пе­ри­мен­та пе­ре­даётся кон­троль­ное зна­че­ние — наи­боль­шее число r, удо­вле­тво­ря­ю­щее сле­ду­ю­щим усло­ви­ям: 1) r — про­из­ве­де­ние двух чисел, пе­ре­дан­ных в раз­ные ми­ну­ты; 2) r де­лит­ся на 26. на­пи­ши­те эф­фек­тив­ную по вре­ме­ни и ис­поль­зу­е­мой па­мя­ти про­грам­му, ко­то­рая будет про­ве­рять пра­виль­ность кон­троль­но­го зна­че­ния. про­грам­ма долж­на на­пе­ча­тать отчёт по сле­ду­ю­щей форме. вы­чис­лен­ное кон­троль­ное зна­че­ние: … кон­троль прой­ден (или кон­троль не прой­ден) если удо­вле­тво­ря­ю­щее усло­вию кон­троль­ное зна­че­ние опре­де­лить не­воз­мож­но, то вы­во­дит­ся толь­ко фраза «кон­троль не прой­ден». перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый вами ал­го­ритм ре­ше­ния. на вход про­грам­ме в пер­вой стро­ке подаётся ко­ли­че­ство чисел n ≤ 100 000. в каж­дой из по­сле­ду­ю­щих n строк за­пи­са­но одно по­ло­жи­тель­ное целое число, не пре­вы­ша­ю­щее 1000. в по­след­ней стро­ке за­пи­са­но кон­троль­ное зна­че­ние. программа: n = int( m26, m13, m2, m = 0, 0, 0, 0 for i in range(n): num = int( if num % 26 == 0 and num > m26: m26 = num elif num % 13 == 0 and num > m13: m13 = num elif num % 2 == 0 and num > m2: m2 = num elif num > m: m = num ans = max(m13*m2, m13*m26, m26*m, m26*m2, ) r = int( print('вычисленное контрольное значение: ', ans) print('контроль пройден' if ans == r else 'контроль не пройден')

Информатика

Ответы

Adno1578
#include "stdafx.h" 
#include "malloc.h" 
#include <iostream> 
using namespace std; 

int _tmain(int argc, _TCHAR* argv[]) 

// Вводим исходные данные. 
int m; 
int n; 
printf ("Введите количество столбцов? m = "); 
cin >> m; 
printf ("Введите количество строк? n = "); 
cin >> n; 

// Создаем матрицу. 
int* pMatrix = (int*) malloc (m * n * sizeof (int)); 

// Инициализируем другие переменные. 
int xMin = 0, // левая граница спирали 
xMax = m, // правая граница спирали (не включая ее, поэтому ниже будет использоваться xMax - 1) 
yMin = 0, // верхняя граница спирали 
yMax = n, // нижняя граница спирали (не включая ее, поэтому ниже будет использоваться yMax - 1) 
i = 0, // текущее число 
x, y; // расходный материал. 

// Бесконечный цикл, пока не заполним матрицу. 
while (1) 

// Заполняем верхний ряд слева направо. 
for (x = xMin; x < xMax; x++) 
pMatrix[x + yMin * m] = i++; 
// Заполнили весь верхний ряд. Подвигаем вниз верхнюю границу. 
yMin ++; 
// Если верхняя граница совпала с нижней, то заканчиваем цикл. 
if (yMin == yMax) 
break; 

// Заполняем правый ряд сверху вниз. 
for (y = yMin; y < yMax; y++) 
pMatrix[xMax - 1 + y * m] = i++; 
// Заполнили весь правый ряд. Подвигаем налево правую границу. 
xMax --; 
// Если правая граница совпала с левой, то заканчиваем цикл. 
if (xMax == xMin) 
break; 

// Заполняем нижний ряд справа налево. 
for (x = xMax - 1; x >= xMin; x--) 
pMatrix[x + (yMax - 1) * m] = i++; 
// Заполнили весь нижний ряд. Подвигаем вверх нижнюю границу. 
yMax --; 
// Если верхняя граница совпала с нижней, то заканчиваем цикл. 
if (yMin == yMax) 
break; 

// Заполняем левый ряд снизу вверх. 
for (y = yMax - 1; y >= yMin; y--) 
pMatrix[xMin + y * m] = i++; 
// Заполнили весь левый ряд. Подвигаем направо левую границу. 
xMin ++; 
// Если правая граница совпала с левой, то заканчиваем цикл. 
if (xMax == xMin) 
break; 
// если мы все еще здесь, значит идем на очередной виток спирали.. . 


// Есть предположение, что спираль заполнена. Напечатаем ее, посмотреть.. . 
for (y = 0; y < n; y++) 

// Печатаем строку. 
for (x = 0; x < m; x++) 
printf ("i, ", pMatrix[x + y * m]); 
// Переходим на другую строку. 
printf ("\r\n"); 


// Освобождаем память и выходим. 
free (pMatrix); 
pMatrix = 0; 
afoninia
428(10) 
428 | 214 |  107  |  53  |  26 |  13  |  6  |  3 |  1
0         0      1        1      0      1     0     1    1   < 428(10) = 110101100 (2)

428   |    53     |     6     |       
424        48           0
 
 4               5          6      <     428(10) = 654(8)

 
8(10) =1000(2)
8(10) =10(8)

409(10) =110011001 (2)
409 (10) = 631(8)

409    204    102   51   25   12   6   3   1
1         0        0      1     1    0    0    1   1    <  409(10) = 110011001(2)

409       51       6  
408       48       0
 
    1         3       6             <  409(10) = 631(8)

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

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

Информатика егэ №13373. проверьте, правильно ли написана программа на python, и является ли она эффективной по времени и по памяти: на спут­ни­ке «вос­ход» уста­нов­лен при­бор, пред­на­зна­чен­ный для из­ме­ре­ния сол­неч­ной ак­тив­но­сти. в те­че­ние вре­ме­ни экс­пе­ри­мен­та (это время из­вест­но за­ра­нее) при­бор каж­дую ми­ну­ту пе­ре­даёт в об­сер­ва­то­рию по ка­на­лу связи по­ло­жи­тель­ное целое число, не пре­вы­ша­ю­щее 1000, — ко­ли­че­ство энер­гии сол­неч­но­го из­лу­че­ния, по­лу­чен­ной за по­след­нюю ми­ну­ту, из­ме­рен­ное в услов­ных еди­ни­цах. после окон­ча­ния экс­пе­ри­мен­та пе­ре­даётся кон­троль­ное зна­че­ние — наи­боль­шее число r, удо­вле­тво­ря­ю­щее сле­ду­ю­щим усло­ви­ям: 1) r — про­из­ве­де­ние двух чисел, пе­ре­дан­ных в раз­ные ми­ну­ты; 2) r де­лит­ся на 26. на­пи­ши­те эф­фек­тив­ную по вре­ме­ни и ис­поль­зу­е­мой па­мя­ти про­грам­му, ко­то­рая будет про­ве­рять пра­виль­ность кон­троль­но­го зна­че­ния. про­грам­ма долж­на на­пе­ча­тать отчёт по сле­ду­ю­щей форме. вы­чис­лен­ное кон­троль­ное зна­че­ние: … кон­троль прой­ден (или кон­троль не прой­ден) если удо­вле­тво­ря­ю­щее усло­вию кон­троль­ное зна­че­ние опре­де­лить не­воз­мож­но, то вы­во­дит­ся толь­ко фраза «кон­троль не прой­ден». перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый вами ал­го­ритм ре­ше­ния. на вход про­грам­ме в пер­вой стро­ке подаётся ко­ли­че­ство чисел n ≤ 100 000. в каж­дой из по­сле­ду­ю­щих n строк за­пи­са­но одно по­ло­жи­тель­ное целое число, не пре­вы­ша­ю­щее 1000. в по­след­ней стро­ке за­пи­са­но кон­троль­ное зна­че­ние. программа: n = int( m26, m13, m2, m = 0, 0, 0, 0 for i in range(n): num = int( if num % 26 == 0 and num > m26: m26 = num elif num % 13 == 0 and num > m13: m13 = num elif num % 2 == 0 and num > m2: m2 = num elif num > m: m = num ans = max(m13*m2, m13*m26, m26*m, m26*m2, ) r = int( print('вычисленное контрольное значение: ', ans) print('контроль пройден' if ans == r else 'контроль не пройден')
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

gaina6678
Columbia777
dentalfamily
Emasterova77
Динков
sve-lysenko
igraparkGP51
Константиновна
Антон
Anastasiya Yevseeva948
AleksandrIvanovich1273
slastena69678
Boss5519
Евгеньевич-Куликов1614
delonghisochi