Напечатать шестизначные номера всех "счастливых" билетов - PascalABC.NET
Формулировка задачи:
Написать для троллейбусного депо программу, которая к 1 апреля
напечатает шестизначные номера всех "счастливых" билетов.
Билет назовем "счастливым", если сумма первых трех цифр равна сум-
ме последних трех цифр.
Решение задачи: «Напечатать шестизначные номера всех "счастливых" билетов»
textual
Листинг программы
var a:array[0..27] of string; function wnumber(n:integer):string; begin if n<10 then wnumber:='00' else if n<100 then wnumber:='0'; wnumber+=inttostr(n); end; begin for i:integer:=0 to 999 do a[i mod 10+i div 100+i mod 100 div 10]+=wnumber(i)+' '; var l:array of string; for i:integer:=0 to 27 do begin l:=a[i].Split(' '.ToCharArray,System.StringSplitOptions.RemoveEmptyEntries).ToArray(); foreach s:string in l do foreach s1:string in l do write(s+s1,' '); writeln; end; end.
Объяснение кода листинга программы
В этом коде:
- Создается массив строк a размером 28 элементов (0..27), который будет использоваться для хранения номеров билетов.
- Определяется функция wnumber, которая принимает целое число n и возвращает строку, представляющую это число в виде двузначного числа с ведущими нулями. Например, если n=3, функция вернет
003
. - Запускается цикл, который проходит по всем числам от 0 до 999 и добавляет к строке a[i mod 10+i div 100+i mod 100 div 10] номер i, представленный в виде строки с ведущими нулями. Например, если i=33, то к строке a[3 mod 10+33 div 100+33 mod 100 div 10] будет добавлено
003 033
. - Создается новый массив l, который будет использоваться для хранения списков строк, полученных путем разделения строк из массива a по пробелам.
- Запускается цикл, который проходит по каждому элементу массива l и разделяет каждую строку на отдельные строки, используя пробел в качестве разделителя. Затем выводится каждая пара строк, разделенных пробелом.
- После завершения цикла выводится символ новой строки, чтобы перейти к следующей паре строк.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д