Написал на том, что было под рукой: 1C
Если Квартира > ЭтажейВДоме * КвартирНаЭтаже Тогда
Сообщить("Нет такой квартиры в доме, мало этажей!");
ИначеЕсли Квартира <= КвартирНаЭтаже Тогда
Сообщить("Живет на первом этаже");
Иначе
ЖиветНа = Цел(Квартира / КвартирНаЭтаже);
ОстатокЭт = Квартира%КвартирНаЭтаже;
Если ОстатокЭт>0 Тогда //
ЖиветНа = ЖиветНа+1;
КонецЕсли;
Если ЖиветНа%2=0 И ЖиветНа=ЭтажейВДоме Тогда // это четный и последний
ВыходитьНа = ЖиветНа-1;
ИначеЕсли ЖиветНа%2=0 Тогда // четный в НЕчетный этаж
ВыходитьНа = ЖиветНа+1;
ВыходитьНа = ЖиветНа;
Сообщить(" Выйдет на: "+ВыходитьНа);
var n, x, L, F, k, kint, max:integer;
begin
kint := 0;
max := 0;
for n := 2095 to 19402 do begin
x := n;
k := 0;
while x > 0 do begin
k := k + 1;
if k = 1 then
L := x mod 10;
F := x mod 10;
x := x div 10;
end;
if (F > L)and(n mod 10 = 1)and((n div 10)mod 10 = 2)then begin
kint := kint + 1;
if n > max then
max := n;
writeln(kint,' ',max);
end.
Объяснение:
F - первая цифра числа
L - последняя(Слева направо)
Написал на том, что было под рукой: 1C
Если Квартира > ЭтажейВДоме * КвартирНаЭтаже Тогда
Сообщить("Нет такой квартиры в доме, мало этажей!");
ИначеЕсли Квартира <= КвартирНаЭтаже Тогда
Сообщить("Живет на первом этаже");
Иначе
ЖиветНа = Цел(Квартира / КвартирНаЭтаже);
ОстатокЭт = Квартира%КвартирНаЭтаже;
Если ОстатокЭт>0 Тогда //
ЖиветНа = ЖиветНа+1;
КонецЕсли;
Если ЖиветНа%2=0 И ЖиветНа=ЭтажейВДоме Тогда // это четный и последний
ВыходитьНа = ЖиветНа-1;
ИначеЕсли ЖиветНа%2=0 Тогда // четный в НЕчетный этаж
ВыходитьНа = ЖиветНа+1;
Иначе
ВыходитьНа = ЖиветНа;
КонецЕсли;
Сообщить(" Выйдет на: "+ВыходитьНа);
КонецЕсли;
var n, x, L, F, k, kint, max:integer;
begin
kint := 0;
max := 0;
for n := 2095 to 19402 do begin
x := n;
k := 0;
while x > 0 do begin
k := k + 1;
if k = 1 then
L := x mod 10;
F := x mod 10;
x := x div 10;
end;
if (F > L)and(n mod 10 = 1)and((n div 10)mod 10 = 2)then begin
kint := kint + 1;
if n > max then
max := n;
end;
end;
writeln(kint,' ',max);
end.
Объяснение:
F - первая цифра числа
L - последняя(Слева направо)