![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Даны целое число k (1<=k<=180) и последовательность цифр 10111213..9899, в которой выписаны подряд все двузначные числа. Определить номер пары цифр, в которую входит k-я цифра.
По-моему ответ числа от 10 до 99... Как записать решение задачи в делфи? помогите, очень нужно. Заранее спасибо=) |
|
#2
|
|||
|
|||
|
Не совсем понял.
у тебя ряд двузначных цифр, а ищешь ты от одно- до трехзначное. т.е. если бы (10 <= k <= 99), тогда было бы понятно. А что делать с одно- или трехзначным числом. Т.е. как она должна искать (аналитически) в этом случае (желателен пример). |
|
#3
|
|||
|
|||
|
в том то и дело что (1<=k<=180)
чесно говоря у меня даже и идей нет.. экзамен не светит ничего хорошего ![]() |
|
#4
|
|||
|
|||
|
ну могу предположить, что если число к = 161, то номер пары в которую он входить будет 4. (ну т.к. первая пара это 10 и 11, вторая 12 13, 1415 и 1617) но если будет число 169 то тут наверн оно никуда не войдет
|
|
#5
|
|||
|
|||
|
Act, можешь написать то что ты сказал в делфи? пожалуйста, очень нужно..
|
|
#6
|
|||
|
|||
|
Код:
function FindPos(ANumber : Integer; AList : String) : Integer;
var
I : Integer;
sNmb : String;
begin
Result := -1;
sNmb := IntToStr(ANumber);
I := 1;
While I < Length(AList) Do
Begin
If Copy(AList,I,Length(sNmb)) = sNmb Then
Begin
Result := Int(I/2) + 1;
Break;
End;
I := I + 2;
End;
end;ANumber - твое k; AList - твой ряд двузначных в виде строки. возвращает номер пары, если найдено или -1 - если нет. ЗЫ. Писал навскидку, так что могут быть очепятки. По логике вроде все правильно. |