Программа находит все счастливые автобусные билеты, сумма цифр в первой половине равна сумме цифр во второй половине числа:
program HappyTickets; var i, j, sum1, sum2, ticketNumber, num1, num2, happyTicketsCount: integer; begin happyTicketsCount := 0; for i := 0 to 999999 do begin sum1 := 0; sum2 := 0; ticketNumber := i; for j := 1 to 3 do begin num1 := ticketNumber mod 10; sum1 := sum1 + num1; ticketNumber := ticketNumber div 10; end; for j := 1 to 3 do begin num2 := ticketNumber mod 10; sum2 := sum2 + num2; ticketNumber := ticketNumber div 10; end; if sum1 = sum2 then begin writeln('Happy ticket number: ', i, ' Square root: ', sqrt(i):0:2); happyTicketsCount := happyTicketsCount + 1; end; end; writeln('Total number of happy tickets found: ', happyTicketsCount); end.
Эта программа перебирает все возможные комбинации будетов от 000000 до 999999 и находит те, у которых сумма цифр в первой половине равна сумме цифр во второй половине. Далее программа выводит найденные счастливые билеты и их квадратный корень.
Программа находит все счастливые автобусные билеты, сумма цифр в первой половине равна сумме цифр во второй половине числа:
program HappyTickets;var
i, j, sum1, sum2, ticketNumber, num1, num2, happyTicketsCount: integer;
begin
happyTicketsCount := 0;
for i := 0 to 999999 do
begin
sum1 := 0;
sum2 := 0;
ticketNumber := i;
for j := 1 to 3 do
begin
num1 := ticketNumber mod 10;
sum1 := sum1 + num1;
ticketNumber := ticketNumber div 10;
end;
for j := 1 to 3 do
begin
num2 := ticketNumber mod 10;
sum2 := sum2 + num2;
ticketNumber := ticketNumber div 10;
end;
if sum1 = sum2 then
begin
writeln('Happy ticket number: ', i, ' Square root: ', sqrt(i):0:2);
happyTicketsCount := happyTicketsCount + 1;
end;
end;
writeln('Total number of happy tickets found: ', happyTicketsCount);
end.
Эта программа перебирает все возможные комбинации будетов от 000000 до 999999 и находит те, у которых сумма цифр в первой половине равна сумме цифр во второй половине. Далее программа выводит найденные счастливые билеты и их квадратный корень.