М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
xxz10492
xxz10492
11.07.2021 03:04 •  Информатика

Информатика егэ №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 'контроль не пройден')

👇
Открыть все ответы
Ответ:
260г
260г
11.07.2021
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
float gip, katet1,katet2,radius;
cout << "Введите величину гипотенузы ( см ): ";
cin >> gip;cout << "Введите величину известного катета ( см ) : ";
cin >> katet1;
katet2 = sqrt((float(gip*gip - katet1 * katet1)));
radius = (katet1 + katet2 - gip) / 2;
cout << "Второй катет равен: " << katet2 << " см \nРадиус вписанной
окружности: " << radius << endl;
return 0;
}
использовал формулу для радиуса radius = (katet1+katet2-gip)/2
Для нахождения катетов katet2 = корень квадратный из gip^2-katet1^2
Писал в visual c++, советую там и проверять. Чтобы с синтаксисом проблем не возникло 
4,7(37 оценок)
Ответ:
сонька177
сонька177
11.07.2021
Var m : array[0..6] of Integer;
  i,k,N : Integer;
Begin
  For i:=0 to 6 do m[i]:=0;
  Readln(N);
  k:=6;
  While N>0 do
  Begin
    If N>=Power(2,k) then
    Begin
      N:=N-Trunc(Power(2,k));
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=0 to 6 do Writeln(Power(2,i),'  ',m[i],' шт.');
end.

Еще вариант:
Const
  NN = 7;
  money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
  i,k,N : Integer;
Begin
  For i:=1 to NN do m[i]:=0;
  Readln(N);
  k:=NN;
  While N>0 do
  Begin
    If N>=money[k] then
    Begin
      N:=N-money[k];
      Inc(m[k]);
    end else Dec(k);
  end;
  For i:=1 to NN do Writeln(money[i],'  ',m[i],' шт.');
end.
4,7(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ