Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Решение. Последовательность целых чисел ai (i = 1,2, ) формируется в соответствии со следующим правилом:

Постановка задачи.

Последовательность целых чисел ai (i = 1,2, …) формируется в соответствии со следующим правилом:

Требуется определить номер и значение первого элемента последовательности, который удовлетворяет условию ai > n, где “n” – произвольное целое число.

С целью уяснения задачи получим вручную решение для конкретного значения величины “n”. Пусть значение величины n == 25. Получим следующую последовательность чисел: a1 == 1, a2 == 5, a3 == 14, a4 == 30. На этом ручные вычисления элементов последовательности чисел можно прекратить. Дело в том, что уже получен элемент последовательности, удовлетворяющий заданному условию (ai > n). Таким образом, искомый элемент последовательности имеет номер, равный 4 и значение, равное 30.

Следует отметить, что рассматриваемая задача всегда имеет решение, т.к. элементы ai образуют возрастающую последовательность.

Решение данной задачи требует организации итерационного цикла, т.к. количество повторений цикла заранее неизвестно. Здесь удобно воспользоваться циклом, управляемым инструкцией do while. Дело в том, что разрабатываемый цикл должен выполниться хотя бы один раз.

Обозначим через i – номер очередного вычисляемого элемента последовательности, а через current_item – значение этого элемента. Для вычисления current_item следует использовать принцип накопления суммы. Желательно построить цикл таким образом, чтобы после окончания его работы значение переменной i совпадало с номером искомого элемента. Это можно обеспечить в том случае, когда продвижение цикла, обеспечиваемое инструкцией i++; будет расположено до рабочей части цикла, представленной инструкцией current_item += i * i;.

Программа, разработанная с учетом изложенных соображений, приведена ниже.

#include<stdio.h>
int main(void)
{
int i, n;
long current_item;
printf(“n=”);
scanf(“%d”, &n);

i = 0;
current_item = 0;
do
{
i++;
current_item += i * i;
}while(current_item <= n);

printf(“Элемент последовательности с номером = %d”
“ и значением, равным %ld является первым”
“ элементом, удовлетворяющим заданному”
“ условию\n”, i, current_item);
getch();
return 0;
}

 

 

<== предыдущая лекция | следующая лекция ==>
Цикл, управляемый инструкцией while | Вложенные циклы
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 350; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.