function isLucky(a: integer): boolean; var s: string; begin str(a, s); while length(s) < 6 do s := '0' + s; isLucky := ord(s[1]) + ord(s[2]) + ord(s[3]) = ord(s[4]) + ord(s[5]) + ord(s[6]) end; var sTicket: string; iTicket, i, err, sum: longint; begin write('Введите Ваш номер билета: '); read(sTicket); val(sTicket, iTicket, err); for i := 1 to iTicket do if isLucky(i) then inc(sum); writeln('Выдано ', sum, ' счастливых билетов'); writeln('Осталось выдать ', 55251 - sum, ' счастливых билетов') end.
Если запись числа оканчивается на 8, то система счисления (далее - с/с) не может иметь основание меньше чем 8+1=9. В этой системе счисления представление числа 30 будет двухзначным (с одного разряда может быть представлено число, не превышающее 8, а двух разрядов достаточно для записи числа 9²-1=80, что превышает 30).
Двухзначное число может быть записано в с/с по основанию n следующим образом: na+b. По условию число оканчивается цифрой 8 и его значение равно 30. Получаем уравнение: na+8=30 ⇒ na=22. Раскладываем 22 на простые множители: 22=1х2х11 Решение уравнения в целых числах при условии n>8 дает два варианта ответов: (n=11, a=2), (n=22, a=1). Это порождает два числа: Существует ли с/с по основанию n, в которой запись числа 30 будет одноразрядной? Уравнение 8n=30 не имеет решений в целых числах, поэтому такой с/с не существует. ответ: 30(10)=18(22)=28(11).
var s: string;
begin
str(a, s);
while length(s) < 6 do s := '0' + s;
isLucky := ord(s[1]) + ord(s[2]) + ord(s[3]) = ord(s[4]) + ord(s[5]) + ord(s[6])
end;
var
sTicket: string;
iTicket, i, err, sum: longint;
begin
write('Введите Ваш номер билета: ');
read(sTicket);
val(sTicket, iTicket, err);
for i := 1 to iTicket do
if isLucky(i) then inc(sum);
writeln('Выдано ', sum, ' счастливых билетов');
writeln('Осталось выдать ', 55251 - sum, ' счастливых билетов')
end.
Двухзначное число может быть записано в с/с по основанию n следующим образом: na+b. По условию число оканчивается цифрой 8 и его значение равно 30. Получаем уравнение:
na+8=30 ⇒ na=22.
Раскладываем 22 на простые множители: 22=1х2х11
Решение уравнения в целых числах при условии n>8 дает два варианта ответов:
(n=11, a=2), (n=22, a=1).
Это порождает два числа:
Существует ли с/с по основанию n, в которой запись числа 30 будет одноразрядной?
Уравнение 8n=30 не имеет решений в целых числах, поэтому такой с/с не существует.
ответ: 30(10)=18(22)=28(11).