Получить последовательность десятичных цифр числа 2 в 100 степени - Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, с задачами по теме "

обработка массива с использование операторов цикла с условием

": 1. Получить последовательность десятичных цифр числа 2 в 100 степени 2. Дано натуральное число n. Определить количество

различных

цифр в нём. 3. Получить последовательность десятичных цифр числа 100!

Решение задачи: «Получить последовательность десятичных цифр числа 2 в 100 степени»

textual
Листинг программы
uses crt;
const base = 2;  {основание}
st = 100;  {степень}
var
s,tt : string;
c : char;
i,j,k,a,b,len : integer;
begin
clrscr;
s := '2'; {начальная строка}
for i:=1 to st-1 do{от1 до 99}
 begin
  tt := s;{запоминаем строку}
  len := length(tt);{длина запомненной строки 1,2,3..}
  s := '';{сбрасываем строку}
  k := 0;
  for j:=1 to len do
    begin
    a := (ord(tt[j])-48)*base + k; {умножаем столбиком каждый раз новое число}
    b := a mod 10; {последняя цифра}
    k := a div 10; {перенос}
    s := s + chr(b+48);{новая строка без последнего переноса}
    end;
  if k <> 0 then s := s + chr(k+48);{добавляем в конец последний перенос}
 end;
 
len := length(s); {переворачиваем строку}
for i:=1 to len div 2 do
 begin
  c := s[len-i+1];
  s[len-i+1] := s[i];
  s[i] := c;
 end;
 
writeln(s);
readln;
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая обеспечивает функции для работы с числовыми значениями и вводом/выводом.
  2. Затем определяются константы base и st, которые задают основание и степень соответственно.
  3. Далее объявляются переменные s, tt, c, i, j, k, a, b и len. Переменная s инициализируется строкой '2', а переменная tt будет использоваться для хранения промежуточных результатов. Переменная c будет использоваться для хранения символа, который будет добавлен к строке s. Переменные i, j, k, a и b будут использоваться для обработки чисел. Переменная len будет использоваться для хранения длины строки tt.
  4. Затем начинается цикл for, который выполняется от 1 до st-1. На каждой итерации цикла переменная tt запоминает текущее значение строки s, а переменная len запоминает длину этой строки. Затем переменная s сбрасывается в пустую строку, а переменная k устанавливается в 0.
  5. Внутри цикла for выполняется вложенный цикл, который обрабатывает каждый символ в строке tt. На каждой итерации внутреннего цикла переменная a вычисляется как произведение текущего символа на основание (в данном случае 2), умноженное на k. Переменная b вычисляется как последняя цифра числа a. Переменная k устанавливается в k/10 (перевод в новую позицию). Затем к строке s добавляется символ, соответствующий последней цифре числа a, используя переменную c.
  6. Если k не равно 0, то к строке s добавляется символ, соответствующий k-й цифре числа a.
  7. После завершения внутреннего цикла переменная len устанавливается равной длине строки s.
  8. Затем выполняется еще один цикл for, который переворачивает строку s. На каждой итерации внутреннего цикла переменная c устанавливается в символ, следующий по порядку в строке s, а переменная s устанавливается в s[len-i+1].
  9. В конце кода выводится значение переменной s.
  10. Код завершается вызовом функций readln и clrscr, чтобы очистить экран и прочитать введенные данные.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы