Форум программистов, компьютерный форум CyberForum.ru

while - C++

Восстановить пароль Регистрация
 
Kawar
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 14
17.03.2012, 15:28     while #1
Дана последовательность чисел 1+1/2, 1+1/3,…1+1/n . Вывести все значения n, при которых все числа последовательности будут не меньше a (1 < a ≤ 1,5)
C++
1
2
3
4
5
6
7
8
{int n(2);double a;
do
{ a=1+(1/n);
cout<<n<<"\n";
n++;
}
while(a>1);
getch();
в этом случае выводит 2 и все;
пробовал так
C++
1
a=1+(1.0/n)
стало выводить огромное количество значений.
Собственно где ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
17.03.2012, 15:40     while #2
Цитата Сообщение от Kawar Посмотреть сообщение
Вывести все значения n, при которых все числа последовательности будут не меньше a (1 < a ≤ 1,5)
при таком условии n равно бесконечности.
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
17.03.2012, 15:42     while #3
мб так?

C++
1
2
3
4
5
6
7
8
         int n(5);
        double a,i;
        for (i=2;i<=n;i++)
        {
            a=1+(1/i);
            if (a > 1)
            cout<<i<<";";
        }
Добавлено через 1 минуту
kazak, в принципе да, 1+ дробь даст всегда > a, поэтому выведутся все n от 2 до того числа, которое введет ТС
Kawar
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 14
17.03.2012, 15:49  [ТС]     while #4
Да условие немного странное,спасибо.
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
17.03.2012, 16:01     while #5
может вот так условие поставить while(1 < a && a ≤ 1,5)
Yandex
Объявления
17.03.2012, 16:01     while
Ответ Создать тему
Опции темы

Текущее время: 02:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru