Рассмотрим решение
Объяснение:
Итак, задача состоит в том, чтобы переставить слова, разделенные пробелом, этим и будем пользоваться.
На вход получим строку s, где слова разделены пробелом. Запишем все слова, разделенные пробелом, в список lis_s с list comprehensions.
В список rub запишем все элементы из списка lis_s в обратном порядке - в этом нам уменьшающийся range (шаг -1).
Так как требуется строка, а не список, то введем новую строку new_string, которая и будет являться результатом. В цикле for будем прибавлять к ней каждый элемент списка rub. Однако мы столкнемся с некоторой проблемой: слова не будут разделены. Тогда будем добавлять пробелы после каждого слова. Но и здесь ждет подвох: так мы добавим пробел и после последнего слова, тем самым изменив длину данной нам сначала строки. Выход: введем переменную bad_count, в каждой итерации цикла for будем прибавлять к ней 1, пока значение bad_count не совпадет с длиной списка rub. Как только это случится, пробел мы не прибавим.
Подробное решение приведено на скриншоте.
1.а) Да можно. Если ты не будешь использовать её для карыстных целей.
б)
Да, можно послать. Нет, нельзя размещать книги - это авторская работа, ты не имеешь права.
г)Да, можно, т.к цитата это не то, что попадает под авторское право, тем более, если с указанием источника.
д) Да, если картинка не имеет меток, и не попадает под авторское право.
е) Да, т.к это по сути даже реклама.
2. а) Да, если не с корыстными целями.
б)Аналогично а)
в)Да.
г)Да
д) Нет, т.к это нарушение закона, раскрытие конфиденциальности.
var pr,sum,e,d,s,t,a:integer;
begin
readln(a);
e:=a mod 10;
d:=(a div 10) mod 10;
s:=(a div 100) mod 10;
t:=a div 1000;
pr:=1;
sum:=0;
if e mod 2 =0 then sum:=sum+e else pr:=pr*e;
if d mod 2 =0 then sum:=sum+d else pr:=pr*d;
if s mod 2 =0 then sum:=sum+s else pr:=pr*s;
if t mod 2 =0 then sum:=sum+t else pr:=pr*t;
writeln(sum);
writeln(pr);
end.