Даны натуральные числа n, a1,…,an, где n≤12. Найти члены ak последовательности a1,…,an,...

0 голосов
61 просмотров

Даны натуральные числа n, a1,…,an, где n≤12. Найти члены ak последовательности a1,…,an, удовлетворяющие условию(см картинку), и определить их количество.


image

Информатика (26 баллов) | 61 просмотров
Дан 1 ответ
0 голосов

Не совсем понятно условие, зачем дано n?

И в самом ли деле экспонента и факториал функции номера?

Если это так, то решение ведь очень простое

Пусть эти числа запрятаны в некий массив A[N], тогда вся программа будет выглядеть примерно так

 

Сколько=0; // это переменная, где будет количество "наших" членов

Для ц=1 по N цикл

   Если (ДваН(ц)<=A[ц]) и (A[ц]<=Фак(ц)) то</p>

         Сколько=Сколько+1;

   КонецЕсли;

КонецЦикла;

 Сообщить("Таких чисел "+Сколько);

 

Вот и всё!

 

А вот теперь насчёт ДваН() и Фак() тут есть альтернатива - или оформлять их функциями или массивами - это твой выбор.

Я бы оформил массивами, быстрей будет работать основной алгоритм. А заполнил бы эти массивы в начале программы, в области инициализации данных, например, так.

 

ДваН[1]=2;

Фак[1]=1;

Для ц=2 по N цикл

    ДваН[ц] = 2*ДваН[ц-1];

    Фак[ц]    = ц*Фак[ц-1];

КонецЦикла; 

 

Вот, собственно, и всё.

На язык, которым владеешь, я думаю, переведёшь без проблем.