Другие языки программирования и технологии

144. С клавиатуры вводится шестизначный номер трамвайного билета. Определить, является ли билет счастливым.

144. С клавиатуры вводится шестизначный номер трамвайного билета. Определить, является ли билет счастливым. Паскаль. С комментариями пожалуйста!
var n: longint;
function s(x: integer): integer;
begin s := 0; while x > 0 do begin
s := s + x mod 10; x := x div 10 end end;
begin while true do begin readln(n);
if s(n mod 1000) = s(n div 1000)
then writeln('Счастливый') else
writeln('Не счастливый') end end.

Тут надо объяснить почему для трамвайного номера выбран тип longint. Потому что если, например, выбрать тип integer, то у меня во ФриПаскале шестизначный номер просто не введётся. Функция s(x) вычисляет сумму цифр неотрицательного целого числа и в программе работает дважды на каждом шаге проверочного цикла на "счастливость". Всё остальное более-менее понятно и без комментариев...
ЮС
Юрий Соловьев
66 572
Лучший ответ
вот прога, остальное - сам, сложи 3 первых и 3 последних цифры
program cifr; //цифры числа
uses crt;
var i,k,m,mn:Integer;
n:longint;
c:array[1..9] of integer;
begin
clrscr;
writeln(' Cifri chisla');
writeln('----------------------');
writeln;
write('Vvesti chislo ne bolee 9 cifr-->'); readln(n);
k:=0; //определение количества цифр
while n>0 do begin // и запись их в массив
k:=k+1;
c[k]:=n mod 10;
n:=n div 10;
end;
for i:=k downto 1 do
write(c[i]:3);
writeln;
writeln('konec zadachi');
readln;
end.
MT
Mamuka Tkeshelashvili
95 955
Кто-то знает, что такое "счастливый"?
Если после ввода номера билета тебя не взломали и всё остальное осталось на месте - слава Богу, всё пронесло!))))
Ms.beka Akylbekov
Ms.beka Akylbekov
63 540
Жрать его будешь
Денис Васильев
Денис Васильев
53 427

Похожие вопросы