В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
messageman1
messageman1
11.11.2021 06:06 •  Информатика

Каким будет значение переменной x после завершения цикла for (int x=0 x меньше 100 x++))

Показать ответ
Ответ:
katyymii
katyymii
02.06.2022 06:54
Вот пример вычисления факториала числа 200

const
  n=1000; {максимальное количество цифр в числе}

type
  big=record
    v:array[1..n] of byte; {массив с цифрами числа}
    m:integer {количество цифр в числе}
  end;

function Str2Big(s:string):big;
{Переводит строковое представление в big}
var
  i,n,k,err: integer;
  r:big;
begin
  n:=Length(s);
  r.m:=n;
  for i:=1 to n do
  begin
    Val(s[i],k,err);
    r.v[i]:=k
  end;
  Str2big:=r
end;

function Big2Str(p:big):string;
{Переводит представление big в строковое}
var
  i,n:integer;
  c,s:string;
begin
  s:='';
  n:=p.m;
  for i:=1 to n do
  begin
    Str(p.v[i],c);
    s:=s+c
  end;
  Big2Str:=s
end;

function TruncBig(a:big):big;
{Усекает незначащие нули}
var
  i,p,n:integer;
  r:big;
begin
  n:=a.m;
  p:=0;
  while (p<n) and (a.v[p+1]=0) do p:=p+1;
  for i:=1 to n-p do r.v[i]:=a.v[i+p];
  r.m:=n-p;
  TruncBig:=r
end;

function MultBig(a,b:big):big;
{Возвращает произведение чисел типа big}
var
  i,j,k,m,n,s:integer;
  r:big;
begin
  m:=a.m; n:=b.m;
  for i:=m to m+n do r.v[i]:=0;
  r.m:=m+n;
  for j:=n downto 1 do
  begin
    if b.v[j]=0 then r.v[j+m+n-1]:=0
    else begin
      k:=0;
      for i:=m downto 1 do
      begin
        s :=a.v[i]*b.v[j]+r.v[i + j]+k;
        r.v[i+j]:=s mod 10;
        k:=s div 10
      end;   
      r.v[j] := k
    end
  end;
  MultBig:=TruncBig(r);
end;

var
  i:integer;
  s:string;
  bi,bs:big;
begin
  bs:=Str2Big('1');
  for i:=1 to 200 do begin
    Str(i,s);
    bi:=Str2Big(s);
    bs:=MultBig(bs,bi);
    end;
  s:=Big2Str(bs);
  Writeln(s)
end.

Результат
788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
0,0(0 оценок)
Ответ:
3AKBACKA
3AKBACKA
11.05.2020 06:38

1) program Array16;

var

i:integer; // счетчик в цикле

N:integer;

a: array [1..10] of integer;

begin

writeln('Введите N (N<10)');

readln(N); // ввод размера массива

for i:=1 to N do

begin

write('a[',i,']=');

readln(A[i]); // ручной ввод значений массива

end;

writeln('Результат');

for i:=1 to N do

begin

// вычисление и вывод элементов в указанном порядке

write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);

end;

end.

2) Var A:array[1..100] of integer;

i,n:byte;

Begin

write('Введите n<=100: ');readln(n);

For i:=1 to n do

Begin

A[i]:=random(31);

write(A[i]:3);

End;

writeln;

For i:=1 to n div 2 do

write(A[i]:3,A[n-i+1]:3);

if n mod 2 <>0 then write(A[n div 2+1]:3);

End.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота