|
|
Регистрация | << Правила форума >> | 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 - если нет. ЗЫ. Писал навскидку, так что могут быть очепятки. По логике вроде все правильно. |
#7
|
|||
|
|||
Код:
program conshelp; {$APPTYPE CONSOLE} uses SysUtils; type KU= set of byte; var B:KU; mas:array[10..99] of byte; procedure FILL1; var i:byte; begin for i:=10 to 99 do mas[i]:=i; for i:=1 to 180 do B:=B+[i]; end; procedure fill; var i,countI:byte; begin countI:=0; for i:=1 to 180 do if (mas[i] in B) then begin countI:=countI+1; writeln (countI); end; end; begin Fill1; Fill; readln; readln; end. Последний раз редактировалось Nora, 16.12.2008 в 01:11. |
#8
|
|||
|
|||
Это идея в общем: отладить надо
|
#9
|
|||
|
|||
всем спасибо
|