Создать файл из 650 целых чисел, лежащих на отрезке [135,4000]U[4578, 15000], используя генератор случайных чисел.(Pascal ABC) -Вывести все данные на экран. -Вывести все четырехзначные числа, взаимно простые с своими сосед...

Создать файл из 650 целых чисел, лежащих на отрезке [135,4000]U[4578, 15000], используя генератор случайных чисел.(Pascal ABC) -Вывести все данные на экран. -Вывести все четырехзначные числа, взаимно простые с своими соседями. -Найти наибольшее среди чисел, которое имеет в своей записи хотя бы одну 1. 
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 const   k=650;   function GetData(f:file of integer):integer; // получить из файла очередное значение begin   if not f.Eof then Read(f,Result)   else Result:=0 end; function NOD(a,b:integer):integer; // нахождение НОД begin   while b>0 do (a,b):=(b,a mod b);   Result:=a end; function VZP(a,b:integer):boolean; // являются ли a и b взаимно простыми? begin   Result:=NOD(a,b)=1; end; function Has1(n:integer):boolean:=(Pos('1',n.ToString)>0); begin   var f:file of integer;   // создаем файл   Assign(f,'F.dat'); Rewrite(f);   var n:integer;   for var i:=1 to k do begin     n:=(Random(1,2)=1?Random(135,4000):Random(4578,15000));     f.Write(n);     end;   f.Close;   // файл создан, начинаем его читать и обрабатывать   Reset(f);   Writeln('Задание 1');   while not f.Eof do begin n:=GetData(f); Print(n); end;   Writeln(NewLine,'Задание 2');   f.Seek(0);   var a:=GetData(f);   var b:=GetData(f);   var c:integer;   var VZPLeft:=VZP(a,b);   var VZPRight:boolean;   if VZPLeft then Print(a);   for var i:=3 to k-1 do begin     c:=GetData(f);     VZPRight:=VZP(b,c);     if VZPLeft and VZPRight then Print(b);     (a,b):=(b,c); VZPleft:=VZPRight     end;   c:=GetData(f);   if VZP(b,c) then Print(b,c);   Writeln(NewLine,'Задание 3');   f.Seek(0);   var mx:=0;   while not f.Eof do begin     a:=GetData(f);     if Has1(a) then mx:=Max(mx,a)     end;   if mx>0 then Writeln(mx);   f.Close end. Тестовое решение в прикрепленном файле
Не нашли ответ?
Ответить на вопрос
Похожие вопросы