ОК
Ольга Корноухова

(Паскаль) Последовательность. Чтобы узнать ответ на интересующий ее вопрос, имеющий 10 вариантов ответа,

Марина придумала следующее. Она загадывает число N (1<=N<=106), после чего записывает в тетради число 1, затем много раз приписывает к нему справа число, соответствующее сумме всех цифр числа в тетради. В качестве ответа на вопрос Марина выбирает цифру, получившуюся на N-й позиции в соответствующей последовательности цифр.

Напишите программу, которая по заданному числу N определяет, какая цифра будет в соответствующей позиции последовательности Марины.

Формат входных данных: В единственной строке
файла входных данных приведено целое положительное число N (1<=N<=106), которое
загадала Марина.

Формат выходных данных: В единственной строке
файла выходных данных необходимо вывести единственную цифру, стоящую в
последовательности Марины под номером N.

MV
Masha Volkonskaya

program q171821795;
const
InputFile = 'C:\input.txt';
OutputFile = 'C:\output.txt';

function StrToInt(s: string): integer;
var
x: integer;
begin
Val(s, Result, x);
if x > 0 then
Result := 0;
end;

function IntToStr(i: integer): string;
begin
Result := '0';
Str(i, Result);
end;

function ReadN(FileName: string): integer;
var
f: TextFile;
s: string;
begin
Assign(f, FileName);
Reset(f);
s := '0';
while (not(Eof(f))) do
Readln(f, s);
Close(f);
Result := StrToInt(s);
end;

procedure WriteN(FileName: string; n: integer);
var
f: TextFile;
begin
Assign(f, FileName);
Rewrite(f);
WriteLn(f, IntToStr(n));
Close(f);
end;

function GetN(n: integer): integer;
var
i, j, x: integer;
s: string;
begin
s := '1';
i := 1;
if (n <= 106)or(n >= 1) then
begin
while i < n do
begin
x := 0;
for j := 1 to Length(s) do
x := StrToInt(s[j]) + x;
s := s + IntToStr(x);
i := Length(s);
end;
Result := StrToInt(s[n]);
end else
Result := -1;
end;

begin
WriteN(OutputFile, GetN(ReadN(InputFile)));
ReadLn;
end.

Похожие вопросы
что у меня не так сделано что мне не выдает ответ паскаль
Есть вопрос по паскалю, пояснения в нутри, прошу ответить в ближайшее время
Подскажите где можно узнать ответы на интересующие вопросы по путевкам заграницу?
Удалить из последовательности числа, начинающиеся цифрой 2. Паскаль
Паскаль. Как упорядочить вторую половину последовательности по убыванию элементов?
Вопрос с вариантом ответа:
вопрос с вариантами ответа!
может кто нибудь сделать тест (5-10 вопросов, с вариантами ответа)
помогите с кодом Можно ли узнать какой вариант ответа правельный по коду со странице.
Задание на Паскаль (9 вариант) Помогите решить