Вквадратной комнате шириной а и высотой в есть окно и дверь с размерами с на d и м на n соответственно. вычислите площадь стен для оклеивания их обоями. паскаль 20
//Вот программа, которая кодирует слова в системах счисления от 2 до 10 //Первый ввод - число, второй - система счисления //Pascal ABC.NET v3.0
var a,i,b,r,n,j,bug:integer; s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string); begin repeat b:=a mod n; a:=a div n; str(b,se); s+=se; until (a<=n-1); end;
begin readln(slo); readln(n); for j:=1 to length(slo) do begin; a:=ord(slo[j]); preob(a,b,n,se); str(a,se); s+=se; for i:=1 to length(s) div 2 do begin; se:=s[i]; s[i]:=s[length(s)-i+1]; s[length(s)-i+1]:=se[1]; end; write(s,'-'); slof:=slof+s; delete(s,1,length(s)); end; end.
//Слово Программа она кодирует как 11001111-11110000-11101110-11100011-11110000-11100000-11101100-11101100-11100000-
Что бы автоматически читать числа по одному в строке до определённого ввода, можно сделать цикл:
lst = []
x = int(input())
while x != 0:
lst.append(x)
x = int(input())
Такая конструкция позволит вам читать поток входных данных любой длины до момента ввода какого то числа.
Если вы хотите вводить числа просто через пробел, то можно использовать метод split() для строки считываемого входного потока, и полученный список строковых чисел уже приводить потом к нужному типу:
lst = input().split() # -> list of <str>
lst = list(map(int, lst)) #-> list of <int>
Ну, или в одну строку: lst = list(map(int, input().split()))
Так же вы можете считывать и автоматически приводить к нужному типу входные данные используя особую питоновую магию в виде генераторов списков:
lst = [int(i) for i in input().split()] # -> list of <int>
Функций, позволяющих считывать входной поток до определённого ввода, точнее, позволяющих организовать такой ввода в одну строку, я не встречал
//Первый ввод - число, второй - система счисления
//Pascal ABC.NET v3.0
var
a,i,b,r,n,j,bug:integer;
s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
begin
readln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.
//Слово Программа она кодирует как 11001111-11110000-11101110-11100011-11110000-11100000-11101100-11101100-11100000-
Что бы автоматически читать числа по одному в строке до определённого ввода, можно сделать цикл:
lst = []
x = int(input())
while x != 0:
lst.append(x)
x = int(input())
Такая конструкция позволит вам читать поток входных данных любой длины до момента ввода какого то числа.
Если вы хотите вводить числа просто через пробел, то можно использовать метод split() для строки считываемого входного потока, и полученный список строковых чисел уже приводить потом к нужному типу:
lst = input().split() # -> list of <str>
lst = list(map(int, lst)) #-> list of <int>
Ну, или в одну строку: lst = list(map(int, input().split()))
Так же вы можете считывать и автоматически приводить к нужному типу входные данные используя особую питоновую магию в виде генераторов списков:
lst = [int(i) for i in input().split()] # -> list of <int>
Функций, позволяющих считывать входной поток до определённого ввода, точнее, позволяющих организовать такой ввода в одну строку, я не встречал
Объяснение: