Другие языки программирования и технологии
Задача в паскале начальный уровень
дано натуральное число k. Напечатать k-ю цифру последовательности 1123581321... в которой выписаны подряд все числа Фибоначчи (каждое последующее число равно сумме двух предыдущих). Использовать только if и case и циклы!!!! Если я правильно врубилась тут вложеный цикл нужен...
есть некоторые вопросы.
кое-что бы уточнил :)
(проверь почту)
кое-что бы уточнил :)
(проверь почту)
Доброго времени суток.
Немного не так, Огненый лис. Требуется найти не k число в последовательности чисел Фибоначчи, а k цифру В приведенном примере 1123581321 третья цифра будет 2, четвертая - 3, седьмая - 1 и т. д. Задача состоит из двух частей, получение чисел Фибоначчи и, собственно, определение нужной цифры. Что в таком духе должно быть.
var
i, k, a, n, tmp : Longint;
F1, F2, F3 : Longint;
begin
Write('Введите число K: ');
ReadLn(k);
F1 := 1;
F2 := 1;
if k < 3 then begin {первые две цифры единицы}
WriteLn('K-тая цифра = 1');
ReadLn;
Exit;
end;
k := k - 2; {корректируем на две первые единицы}
{вычисляем число в котором требуется найти нужную цифру}
while k > 0 do begin
i := F1 + F2; F1 := F2; F2 := i;
a := 0; {количество разрядов очередного числа}
tmp := i;
while tmp > 0 do begin {считаем количество цифр в числе}
tmp := tmp div 10; {делим на 10}
a := a + 1; {и подсчитываем число делений}
end;
k := k - a; {вычитаем из заданного числа разрядов}
end;
{если k отрицательное, то искомая цифра находится левее}
while k <> 0 do begin
i := i div 10; {сдвигаемся на нужный разряд}
k := k + 1;
end;
tmp := i mod 10; {получаем значение цифры}
WriteLn('K-тая цифра = ', tmp );
ReadLn;
end.
Удачи!
Немного не так, Огненый лис. Требуется найти не k число в последовательности чисел Фибоначчи, а k цифру В приведенном примере 1123581321 третья цифра будет 2, четвертая - 3, седьмая - 1 и т. д. Задача состоит из двух частей, получение чисел Фибоначчи и, собственно, определение нужной цифры. Что в таком духе должно быть.
var
i, k, a, n, tmp : Longint;
F1, F2, F3 : Longint;
begin
Write('Введите число K: ');
ReadLn(k);
F1 := 1;
F2 := 1;
if k < 3 then begin {первые две цифры единицы}
WriteLn('K-тая цифра = 1');
ReadLn;
Exit;
end;
k := k - 2; {корректируем на две первые единицы}
{вычисляем число в котором требуется найти нужную цифру}
while k > 0 do begin
i := F1 + F2; F1 := F2; F2 := i;
a := 0; {количество разрядов очередного числа}
tmp := i;
while tmp > 0 do begin {считаем количество цифр в числе}
tmp := tmp div 10; {делим на 10}
a := a + 1; {и подсчитываем число делений}
end;
k := k - a; {вычитаем из заданного числа разрядов}
end;
{если k отрицательное, то искомая цифра находится левее}
while k <> 0 do begin
i := i div 10; {сдвигаемся на нужный разряд}
k := k + 1;
end;
tmp := i mod 10; {получаем значение цифры}
WriteLn('K-тая цифра = ', tmp );
ReadLn;
end.
Удачи!
Bazarbay Husainov
А, понял) не внимательно прочитал условие))
Program p1;
Var
k,i : Integer;
F_1,F_2,F_3 : Longint;
Begin
Readln(k);
F_1:=1;
F_2:=1;
For i:=1 to k do
Begin
F_3:=F_2+F_1;
F_1:=F_2;
F_2:=F_3;
End;
Write(F_3,' ');
Writeln();
End.
Могли бы и сами написать её, программа очень легкая!
Var
k,i : Integer;
F_1,F_2,F_3 : Longint;
Begin
Readln(k);
F_1:=1;
F_2:=1;
For i:=1 to k do
Begin
F_3:=F_2+F_1;
F_1:=F_2;
F_2:=F_3;
End;
Write(F_3,' ');
Writeln();
End.
Могли бы и сами написать её, программа очень легкая!
тут нада знать как числа фибоначи без рекурсии считать. . сегодня точно не помогу =(
Ринат Мухаметзянов
Program p1;
Var
k,i : Integer;
F_1,F_2,F_3 : Longint;
Begin
Readln(k);
F_1:=1;
For i:=1 to k do
Begin
If(i=1)
Then
F_2:=F_1;
F_3:=F_2+F_1;
F_1:=F_2;
F_2:=F_3;
Write(F_3,' ');
End;
Writeln();
End.
Var
k,i : Integer;
F_1,F_2,F_3 : Longint;
Begin
Readln(k);
F_1:=1;
For i:=1 to k do
Begin
If(i=1)
Then
F_2:=F_1;
F_3:=F_2+F_1;
F_1:=F_2;
F_2:=F_3;
Write(F_3,' ');
End;
Writeln();
End.
Похожие вопросы
- Вот скажите мне, какие задачи выполняют программисты начального уровня. См Доп.
- Pascal. Помогите пожалуйста решить задачу в паскале !
- ПОМОГИТЕ С ЗАДАЧАМИ В ПАСКАЛЕ
- Помогите, пожалуйста с задачей :( Сижу, туплю уже какой день, вообще не соображу - чтокуда. Задача на Паскале
- Решение задач по паскалю
- Помогите до решать задачу на паскале
- Составьте задачу в паскале!!
- Помогите решить задачи по Паскалю
- Задача по Паскалю (1 курс)
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.