volkovaekaterina303
?>

Питон 18 ! кузнечик прыгает по столбикам, расположенным на одной линии на равных расстояниях друг от друга. столбики имеют порядковые номера от 1 до n . в начале кузнечик сидит на столбике с номером 1. он может прыгнуть вперед на расстояние от 1 до k столбиков, считая от текущего. на каждом столбике кузнечик может получить или потерять несколько золотых монет (для каждого столбика это число известно определите, как нужно прыгать кузнечику, чтобы собрать наибольшее количество золотых монет. учитывайте, что кузнечик не может прыгать назад. входные данные в первой строке вводятся два натуральных числа: n и k ( 2 ≤ n , k ≤ 1 ), разделённые пробелом. во второй строке записаны через пробел n - 2 целых числа – количество монет, которое кузнечик получает на каждом столбике, от 2-го до n - 1 -го. если это число отрицательное, кузнечик теряет монеты. гарантируется, что все числа по модулю не превосходят 1. выходные данные в первой строке программа должна вывести наибольшее количество монет, которое может собрать кузнечик. во второй строке выводится число прыжков кузнечика, а в третьей строке – номера всех столбиков, которые посетил кузнечик (через пробел в порядке возрастания). если правильных ответов несколько, выведите любой из них. примеры входные данные 5 3 2 -3 5 выходные данные 7 3 1 2 4 5

Информатика

Ответы

nadjasokolova2017
1) д , 2) в . Наверно , мое личное мнение.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
bike-garage8
Возможно, так, как сделал я - не совсем то, что хотел от вас преподаватель. Но программа работает как надо по вашему заданию. При чем вводить можно даже числа из девяти знаков

function checkstr( x: string ): boolean; // это функция, которая проверяет введенное пользователем на то, является ли это целым положительным числом, а не какими-нибудь буквами
begin
var k: integer;
if length(x) > 0 then begin
Result := True;
for k := 1 to length(x) do
if not (x[k] in ['0'..'9']) then begin
Result := False;  // если пользователь ничего не ввел или ввел не цифры, то будет возвращена ложь
end;end;end;

var N: string;
error, r, i, min: integer;
B: array[1..8] of integer; // В - массив, в котором будут храниться все цифры введенного числа
begin
write('Введите целое положительное число: ');
readln(N);
if checkstr(N) then begin // вызываем нашу функцию на обработку введенных данных
r := Length(N); // присваиваем переменной r размер введенной строки
val( N[ 1 ], min, error); // конвертирует строковое значение в тип integer и присваиваем минимальному значению первую цифру
for i := 2 to r do begin
val( N[ i ], B[ i ], error ); // конвертируем строковые цифры в integer
if ( B[i] < min ) AND ( B[i] mod 2 <> 0) then min := B[i]; // если цифра нечетная и меньше переменной min , то присвоить переменной min значение этой цифры
if ( min mod 2 = 0 ) then min := B[i]; // проверяем на всякий случай еще раз первую цифру
end;
if ( min mod 2 = 0 ) then writeln('Нечетных цифр нет') // если нечетных цифр нет, а наименьшая цифра четная, то говорим, что нечетных цифр нет
else writeln( 'Наименьшая нечетная цифра в числе: ', min ); // выводим наименьшую нечетную цифру из числа
end
else writeln('Неверный формат ввода'); // если пользователь вдруг ввел буквы или какие-нибудь каракули вместо целого числа
end.

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

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

Питон 18 ! кузнечик прыгает по столбикам, расположенным на одной линии на равных расстояниях друг от друга. столбики имеют порядковые номера от 1 до n . в начале кузнечик сидит на столбике с номером 1. он может прыгнуть вперед на расстояние от 1 до k столбиков, считая от текущего. на каждом столбике кузнечик может получить или потерять несколько золотых монет (для каждого столбика это число известно определите, как нужно прыгать кузнечику, чтобы собрать наибольшее количество золотых монет. учитывайте, что кузнечик не может прыгать назад. входные данные в первой строке вводятся два натуральных числа: n и k ( 2 ≤ n , k ≤ 1 ), разделённые пробелом. во второй строке записаны через пробел n - 2 целых числа – количество монет, которое кузнечик получает на каждом столбике, от 2-го до n - 1 -го. если это число отрицательное, кузнечик теряет монеты. гарантируется, что все числа по модулю не превосходят 1. выходные данные в первой строке программа должна вывести наибольшее количество монет, которое может собрать кузнечик. во второй строке выводится число прыжков кузнечика, а в третьей строке – номера всех столбиков, которые посетил кузнечик (через пробел в порядке возрастания). если правильных ответов несколько, выведите любой из них. примеры входные данные 5 3 2 -3 5 выходные данные 7 3 1 2 4 5
Ваше имя (никнейм)*
Email*
Комментарий*

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

kiravalter1998697
marketing3
adminaa
abroskin2002
И.Д.1065
kononova_Pavel689
Savelieva24
udalova-yelena
Стефаниди
miss1380
Vyacheslavovna1108
Смирнов_Андрей691
ОвчинниковаТатьяна
borzhemskaya19823110
PetrovDrozdov1785