Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
plzhelpme
0 / 0 / 1
Регистрация: 16.01.2018
Сообщений: 36
#1

Найти элементы последовательности - Pascal

18.01.2018, 10:20. Просмотров 75. Ответов 1
Метки нет (Все метки)

Дано целое число (> 1). Последовательность действительных чисел АК определяется следующим образом:
А1 = 1, А2 = 2, АК = (АК-2 + 2АК-1), К = 3,4 .... Вывести элементы А.
http://www.cyberforum.ru/pascal/thread1475788.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2018, 10:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти элементы последовательности (Pascal):

Найти номера строк матрицы, элементы которых образуют симметрические последовательности
Дана целочисленная квадратная матрица порядка n. Найти номера строк, элементы...

Признаком конца числовой последовательности является число 0. Найти среднее орифметическое положительных элементов последовательности.
Всем привет! Помогите пожалуйсто написать программу к задаче!!! Признаком конца...

В целочисленной последовательности есть нулевые элементы
В целочисленной последовательности есть нулевые элементы. Создать массив из...

Заменить все нечетные элементы последовательности на нули
задан массив из 15 случайных элементов из диапазона -15 до 10 замените все...

В первом массиве найти все положительные элементы, во втором массиве найти все отрицательные элементы и сформировать массив
В первом одномерном массиве найти все положительные элементы, во втором...

1
Cyborg Drone
Модератор
5249 / 3116 / 2432
Регистрация: 17.08.2012
Сообщений: 10,070
18.01.2018, 15:16 #2
Лучший ответ Сообщение было отмечено plzhelpme как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  a1, a2, ak, i, k: longint;
 
begin
  repeat
    write('k > 0;  k = ');
    readln(k);
  until k > 0;
  for i := 1 to k do
    begin
      a2 := a1;
      a1 := ak;
      if i >= 3
        then ak := a2 + 2 * a1
        else ak := i;
      writeln('A[', i, '] = ', ak)
    end;
  readln
end.
AK будет неверно расчитываться при k > 25 из-за целочисленного переполнения. Если позволяет диалект паскаля, для увеличения количества правильно расчитываемых членов можно применить для всех переменных, кроме i, тип int64 или uint64. В PABC.NET можно применить тип BigInteger. Также можно применить вещественный тип данных extended и использовать форматированный вывод:
Pascal
16
      writeln('A[', i, '] = ', ak :0:0)
Добавлено через 8 минут
Вариант программы с использованием рекурсии:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function ak(n: longint): longint;
begin
  if n >= 3
    then ak := ak(n - 2) + 2 * ak(n - 1)
    else ak := n
end;
 
var
  i, k: longint;
 
begin
  repeat
    write('k > 0;  k = ');
    readln(k);
  until k > 0;
  for i := 1 to k do writeln('A[', i, '] = ', ak(i));
  readln
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2018, 15:16
Привет! Вот еще темы с решениями:

Вывести на печать все элементы последовательности до нуля включительно
Дана последовательность чисел a1,a2,...a10, среди которых есть один...

получить все элементы последовательности B которые не входят в последовательность A
Привет помогите пожалуйста написать программу по другому, Даны натуральные...

Поменять в данной последовательности местами максимальный и седьмой элементы
Ребят помогите! Дано натуральное число N=10 и массив натуральных чисел...


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

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

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