Начали изучать Паскаль и дали вот такую задачу:С клавиатуры вводится целое число k (1 ≤ k ≤ 180) . Определить k-ю цифру в последовательности двузначных чисел, выписанных подряд (1011121314............979899).Помогите решить пожалуйста и желательно объясните.Буду очень благодарен.Спасибо.
Ответы
Ответ дал:
0
Двухзначное число имеет два разряда - десятки и единицы. Если k нечетное, то это цифра десятков в числе, а если четное - цифра единиц. А само число определяется как 10 плюс частное от целочисленного деления k-1 на 2.
var
n, k: integer;
begin
Write('Введите натуральное число k (k<=180): ');
Readln(k);
n := 10 + (k - 1) div 2;
if (k mod 2 = 0) then n := n mod 10
else n := n div 10;
Writeln('Искомая цифра- ', n)
end.
Тестовое решение:
Введите натуральное число k (k<=180): 7
Искомая цифра- 1
var
n, k: integer;
begin
Write('Введите натуральное число k (k<=180): ');
Readln(k);
n := 10 + (k - 1) div 2;
if (k mod 2 = 0) then n := n mod 10
else n := n div 10;
Writeln('Искомая цифра- ', n)
end.
Тестовое решение:
Введите натуральное число k (k<=180): 7
Искомая цифра- 1
Ответ дал:
0
Можно. Сгенерировать в цикле текстовую строку и выбрать в ней k-й символ)))
Ответ дал:
0
Я понял как сделать с if и then,но проблема в том,что нам сказали не использовать if и then/
Ответ дал:
0
так это проблема алгоритмического плана. Надо было в условии писать, что использовать этот оператор нельзя.
Ответ дал:
0
Все равно спасибо вам.Я очень вам блогадарен.
Ответ дал:
0
Благодарен*
Вас заинтересует
1 год назад
6 лет назад
6 лет назад
9 лет назад
9 лет назад