Ввести номер месяца от 1 до 12, напечатать время года от зимы до осени. Если введенное число не является месяцем года, вывести на экран сообщение «Ошибка».Паскаль
Вообще то, это задача чисто математическая. Пусть есть трехзначное число abc. По условию:
abc + abc
bca Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений: 2c = a +16 2b +1 = c + 16 2a + 1 = b равносильная ей система 2с = a + 16 c = 2b - 15 b = 2a + 1 подставляем третье во второе, получаем первые два уравнения 2с = a + 16 c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13 13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16) -> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
По условию:
abc
+ abc
bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13
13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16)
-> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
PascalABC.NET
#1
function Y(x:integer) := 2*((x+2)**2)+5.5*(x+2) - 3;
begin
var Xes := Range(3, 25);
Xes.Tabulate(p -> Y(p)).Println;
end.
#2
const PASS = '123ab';
begin
var rpass := Readstring('Pass: ');
while rpass <> PASS do begin
rpass := Readstring('Wrong pass. Try again: ');
end;
print('Correct password. Welcome');
end.
#3
begin
//Сначала читаем цифру, которую надо удалить, а уже потом число.
var X := ReadChar();
var number := ReadInteger().ToString.ToCharArray.ToList;
while number.Contains(X) do number.Remove(X);
number.JoinIntoString.Println;
end.
#4
begin
var X := ReadInteger();
Print((x div 100)+(x mod 100));
end.
Объяснение: