Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Pumus
0 / 0 / 0
Регистрация: 27.02.2009
Сообщений: 14
1

Задача на k-тую цифру последовательности, задача на схему Горнера.

05.03.2009, 08:11. Просмотров 2522. Ответов 1
Метки нет (Все метки)

Ну, собственно опять прошу помощи...
Задача 1: Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд все натуральные числа. Ограничение на k: 0 < k < 100000
Мой код:
Код
Program Stroki;
Uses Crt;
Var s,sl,zn:string;
    i,k,j,a,razn,dl,nom:integer;
begin

     ClrScr;
     k:=0;
     while (k<1) or (k>100000) do
     begin
       Write('Введите k-тую цифру последовательности натуральных чисел (от 0 до 100 000): ');
       Readln(k);
       if (k<1) or (k>100000) then writeln('Выбранное значение не входит в указанный интервал!');
     end;


     i:=0;
     a:=0;
     while a<k do
     begin
       i:=i+1;
       sl:='';
       str(i,sl);
       a:=a+length(sl);
     end;

     razn:=a-k;
     dl:=length(sl);
     nom:=dl-razn;
     zn:=sl[nom];
     val(zn,i,j);

     Writeln('k-тая цифра последовательности: ',i);
     Write('Нажмите Enter');
     Readln;

end.
Преподаватель сказал, что необходимо изменить алгоритм+ ввести ограничения в связи с типами данных.


2 задача: Написать и протестировать функцию, вычисляющую значение F(m) для натурального m. 10. Целое положительное число m записывается в шестнадцатеричной системе счисления, и разряды в этой записи переставляются в обратном порядке. Получившееся шестнадцатеричное число переводится в десятичную систему счисления, и принимается за значение функции F(m). Например, m=513, F(m)=258. Использовать схему Горнера.
Собственно, тут я прошу основательной помощи, ибо не могу понять, как прикрутить сюда схему Горнера.

Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2009, 08:11
Ответы с готовыми решениями:

Задача на последовательности. Алгоритм.
Пусть даны неубывающая последовательность действительных чисел а&lt;=a&lt;=..&lt;=a и...

Используя схему Горнера вычислить один из корней уравнения
x^3-18*x+33=0

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача)
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной...

Задача на файл и задача на создание очереди
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела....

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За...

1
Puporev
Модератор
55001 / 42300 / 29209
Регистрация: 18.05.2008
Сообщений: 99,948
05.03.2009, 13:14 2
Лучший ответ Сообщение было отмечено Pumus как решение

Решение

Если ты пишешь в Паскале, то к=99999 это тип longint.
А тип string вмещает только 255 символов. Поэтому у тебя все неправильно. Вот в Делфи это прошло бы.
Вот нормальный код для любого Паскаля.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{дано нат. K. напечатать К-ю цифру последовательности 12345678910111213...,
 в которой записаны подряд все натуральныe числa}
uses crt;
var t,j,n,o:integer;
    k,i:longint;
begin
clrscr;
write('Введите k=');readln(k);
t:=0;i:=0;
repeat
t:=t+1;
j:=t;
while j>0 do{считаем количество цифр в числе(1=1, 10=2, 100=3 ...)}
  begin    {и добавляем к общему количеству}
    j:=j div 10;
    i:=i+1;
  end;
until i>=k;{дошли до номера к}
while i>=k do{возвращаемся по цифрам последнего числа до нужной}
  begin
    o:=t mod 10;
    t:=t div 10;
    i:=i-1;
  end;
writeln('k-я цифра:',o);
readln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2009, 13:14

Задача на case: Определить k-ую позицию цифру последовательности 10111213..99,в которой выписаны подряд все двухзначные числа
Дано натуральное k.Определить k-ую позицию цифру последовательности...

Задача на схему Горнера!
Всем привет,помогите пожалуйста с задачей на Java. 1.Написать программу,...

Определить n-тую цифру в последовательности: 112123123411212312341121231234…
Определить n-тую цифру в последовательности: 112123123411212312341121231234…


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru