М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Lagoona030
Lagoona030
24.05.2020 17:46 •  Информатика

Имеется часть катушки с автобусными билетами. составить программу находящую номера счастливых билетов на катушке, если меньший номер билета на катушке - n, больший - m. номера билетов шестизначные, билет считается счастливым если сумма трех его первых цифр равна сумме трех последних.

👇
Ответ:
Nerror
Nerror
24.05.2020
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var n:=ReadInteger('n=');
  var m:=ReadInteger('m=');
  var d1,d2,d3,d4,d5,d6:integer;
  for var i:=n to m do begin
    d6:=i div 100000;
    d5:=(i mod 100000) div 10000;
    d4:=(i mod 10000) div 1000;
    d3:=(i mod 1000) div 100;
    d2:=(i mod 100) div 10;
    d1:=i mod 10;
    if (d1+d2+d3)=(d4+d5+d6) then Write(d6,d5,d4,d3,d2,d1,' ')
    end
end.

Тестовое решение:
n= 163702
m= 164701
163703 163712 163721 163730 163802 163811 163820 163901 163910 164029 164038 164047 164056 164065 164074 164083 164092 164119 164128 164137 164146 164155 164164 164173 164182 164191 164209 164218 164227 164236 164245 164254 164263 164272 164281 164290 164308 164317 164326 164335 164344 164353 164362 164371 164380 164407 164416 164425 164434 164443 164452 164461 164470 164506 164515 164524 164533 164542 164551 164560 164605 164614 164623 164632 164641 164650
4,6(36 оценок)
Открыть все ответы
Ответ:
kurolesov71
kurolesov71
24.05.2020
{
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}

var
 sq : array[0..999] of array[0..9] of boolean;
 co : array[0..999] of integer;
 ar : array[1..10003] of 0..9;
  i,j: integer;
 x: integer;
 t : boolean;
 begin
 for i := 0 to 999 do
   begin
   for j := 0 to 9 do
   sq[i][j] := false;
   co[i] := 0;
   end;
 for i := 1 to 3 do
   ar[i] := 0;
 i := 3;
 t := true;
 {write('000');}
 while t do
   begin
   i := i + 1;
   x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
   if co[x] >= 10 then t := false
     else
     begin
     j := 1;
     while sq[x][j] do 
       j := (j + 1) mod 10;
     ar[i] := j;
     sq[x][j] := true;
     co[x] := co[x] + 1;
     {write(j)}
     end;
   end;
 {writeln;}
 writeln('Length: ',i - 1);

 {просто чтобы убедиться}
 for i := 0 to 999 do
   for j := 0 to 9 do
   sq[i][j] := false;

  t := true;
 j := 0;
 i := 1;
 while (i <= 10000) and t do
   begin
   x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
   if sq[x][ar[i+3]] then t := false
     else
     begin
     sq[x][ar[i+3]] := true;
     j := j + 1;
     end;
   i := i + 1
   end;
 if t and (j = 10000) then
   write('Confirmed')
end.
4,6(89 оценок)
Ответ:
olga810706
olga810706
24.05.2020
Uses GraphABC;
var a,b,c:array[10..99] of integer;
 ast,bst,cst:string;
 i:integer;
begin
ast:='A:';
bst:='Б:';
cst:='В:';
for i:=10 to 99 do
begin
c[i]:=i;
a[i]:=c[i]-i+random(50);
b[i]:=c[i]-a[i];
ast:=ast+' '+inttostr(a[i]);
bst:=bst+' '+inttostr(b[i]);
cst:=cst+' '+inttostr(c[i]);
end;
setpencolor(clRed);
line(0,0,150,0);
line(150,0,75,50);
line(75,50,0,0);
rectangle(0,50,150,300);
DrawTextCentered(0,50,150,300,ast);
setpencolor(clYellow);
line(150,0,300,0);
line(300,0,225,50);
line(225,50,150,0);
rectangle(150,50,300,300);
DrawTextCentered(150,50,300,300,bst);
setpencolor(clGreen);
line(300,0,450,0);
line(450,0,375,50);
line(375,50,300,0);
rectangle(300,50,450,300);
DrawTextCentered(300,50,450,300,cst);
end.
4,6(56 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ