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

ЗА ПРАВИЛЬНЫЙ КОД НА PHYTON 3

По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. Нужно найти контрольное значение. Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1.

Использование массивов в данной задаче запрещено.

Входные данные

В каждой строке исходных данных содержится одно целое число. Сначала идут строки с основными данными – положительными числами, затем число 0 (признак окончания данных).

Выходные данные

Программа должна вывести одно число - контрольное значение.

Примеры

Ввод

Вывод

10

14

0

140

7

75

80

6

75

0

560

👇
Ответ:
ksyushenkа
ksyushenkа
26.10.2021

Два соображения:

Произведение делится на 7, но не делится на 49, если один из сомножителей делится на 7 (но не на 49), а второй - не делится на 7.Произведение будет больше, если каждый из сомножителей будет больше

Получаем такую идею: будем хранить максимальное из всех чисел, делящихся на 7, но не делящихся на 49, и максимальное из чисел, не делящихся на 7. Их произведение будет ответом.

Реализация (Python 3.8.1)

max_div_7 = 0

max_not_div_7 = 0

while (x := int(input())) != 0:

 if x % 7 != 0:

   max_not_div_7 = max(max_not_div_7, x)

 elif x % 7 == 0 and x % 49 != 0:

   max_div_7 = max(max_div_7, x)

if max_div_7 == 0 or max_not_div_7 == 0:

 print(1)

else:

 print(max_div_7 * max_not_div_7)

4,4(60 оценок)
Открыть все ответы
Ответ:
Имом
Имом
26.10.2021
Ну код Цезаря(классический) это сдвиг на 3 буквы по клавиатуре.
Тогда будет:
информатика - лрчсупгхлнг
компьютер - нсптябхзу

Для кода Виженера же нужно помимо слова еще и ключ.
Пишется слово, например
attention
вводится ключ lemon
дальше ключ без пробелов становится по размеру слова, которое мы загадываем
дальше по таблице составляется слово
ну более-менее пытался объяснить что из себя это представляет
ну раз ключ не дан, тогда 
вариант а:
вводимое слово "человек", ключ "алгоритм"
тогда человек - чроэтнэ
вариант б:
вводимое слово "алгоритм", ключ "человек"
тогда алгоритм - чроэтнэд

если код, то он в интернете есть.
4,8(33 оценок)
Ответ:
vladkanter
vladkanter
26.10.2021
1. Современное решение

// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var min:=a.Min;
  a.Transform(x->x<0?x*min:x); a.Println
end.

Пример
n= 15
-34 7 0 -48 4 42 35 14 -47 6 -29 43 46 40 -18
1632 7 0 2304 4 42 35 14 2256 6 1392 43 46 40 864

2. Популярное до сих пор в школах решение на TurboPascal 7.01 (1983г.)

uses Crt;
const
  nn=100;
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  ClrScr;
  Randomize;
  Write('n='); Read(n);
  min:=100;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  for i:=1 to n do
    if a[i]<0 then a[i]:=a[i]*min;
  for i:=1 to n do
    Write(a[i],' ');
  Writeln;
  ReadKey
end.
4,7(87 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ