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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
#1

Дано вещественное число a. Найти такое наименьшее n, что 1+1/2+1/3+.+1/n>a - C++

10.07.2014, 10:45. Просмотров 1864. Ответов 22
Метки нет (Все метки)

Дано вещественное число a. Найти такое наименьшее n, что 1+1/2+1/3+...+1/n>a. (С++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2014, 10:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано вещественное число a. Найти такое наименьшее n, что 1+1/2+1/3+.+1/n>a (C++):

Дано действительное а Найти такое наименьшее n, что - C++
1+ 1/2+...1/n a

Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N C++ - C++
Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту...

Дано положительное число А > 10. Найти такое k, что (k-1)! <= A < k - C++
Я здесь новичок, помогите,пожалуйста, с программой! Дано положительное число А&gt;10. Найти такое k, что (k-1)!&lt;=A&lt;k. Спасибо заранее. ...

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N - C++
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N. Входные данные В...

Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + . + 1/N будет больше A, и саму эту сумму - C++
Дано вещественное число A (&gt; 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту...

Дано вещественное число А>0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А - C++
Дано вещественное число А&gt;0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
takhvatulin
10 / 10 / 0
Регистрация: 04.04.2014
Сообщений: 140
10.07.2014, 11:18 #2
Это математика какая то)
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
10.07.2014, 11:20  [ТС] #3
takhvatulin, ну есть чуть-чуть)
Roodey
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 36
10.07.2014, 11:22 #4
В чем у вас затруднение?
takhvatulin
10 / 10 / 0
Регистрация: 04.04.2014
Сообщений: 140
10.07.2014, 11:23 #5
Может у меня конечно мозг отключился, но даже близко не представляю как это сделать с математической точки зрения, хотя наверное просто лень думать) Если напишите словами алгоритм решения, помогу его в код перевести
Roodey
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 36
10.07.2014, 11:26 #6
takhvatulin, да в принципе всё достаточно легко, всего один цикл с проверкой. А код за ТС писать не надо, смысл форума в том, чтобы оказать помощь в самостоятельном решении проблемы/задачи, а не медвежью услугу делать.
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
10.07.2014, 11:27  [ТС] #7
Roodey, я здесь нашел что-то похожее на сайте)вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iomanip>
#include <iostream>
using namespace std;
 
int main()
{
    int a = 0;
    double n = 0;
    double sum  = 0;//Будет содержать частичную сумму ряда
    cout<<"a = ";cin>>a;
    for(n = 1; sum < a; n = n + 1)
    {
        
        //Сделал индикацию работы чтобы не заснуть
        cout<<"a = "<<a<<endl;
        cout<<"n = "<<n<<" sum = "<<sum<<endl;
        sum = sum + 1.0/n;
    }
    
    return 0;
}
не могу изменить условие под свое!
takhvatulin
10 / 10 / 0
Регистрация: 04.04.2014
Сообщений: 140
10.07.2014, 11:30 #8
Roodey, Да я сам начинающий(на работу стажером-программистом устроился) вот учусь, попутно тренируясь на задачках школьных\студенческих..)
Roodey
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 36
10.07.2014, 11:39 #9
Kotovskiy, смотрите, если я правильно понял задачу, то по факту у вас должен быть примерно такой цикл:
C++
1
2
3
4
5
 
for(int n = 1; sum <= a; n++)
{
sum += 1/n;
}
объявление переменных и ввод/вывод сделаете сами

Добавлено через 2 минуты
takhvatulin, ну, я тоже только начинаю изучать СРР, да и тоже решаю иногда задачки с этого форума, и тоже устроился работать, но не программистом, а эникейщиком, по совместительству с программистом-1с
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
10.07.2014, 12:02  [ТС] #10
Roodey, у меня получается бесконечный цикл)
takhvatulin
10 / 10 / 0
Регистрация: 04.04.2014
Сообщений: 140
10.07.2014, 12:09 #11
Kotovskiy, Насколько я понял, судя по задаче сумма
Цитата Сообщение от Kotovskiy Посмотреть сообщение
1+1/2+1/3+...+1/n
будет стремится к а, т.е будет равна пределу от суммы, где n стремится к бесконечности, и при этом вся сумма стремится к, можно сказать что предел будет равен a, но по факту никогда его не достигнет
Но это уже матАНАЛ, а не программирование)
и сумма эта, если не ошибаюсь, не будет больше двух
Чтобы задача стала решаемой, a=[0;2)
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
10.07.2014, 12:19  [ТС] #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
using namespace std;
 
// рекурсивная функция для вычисления суммы
// собирает сумму с конца, т.е. например для N = 4
// сумма будет выглядеть так 1/4 + 1/3 + 1/2 + 1
double sum(double n);
 
int main()
{setlocale(LC_ALL,"Russian");
    int a;
    cout << "Введите число A (>1): ";
    cin >> a;
 
    int i = 2;
    while (sum(i++) <= a); // ищем наше N
    cout << i << ": " << sum(i) << endl; // нашли, выводим его и сумму
    return 0;
}
 
double sum(double n)
{
    if (n == 1) return 1;
    return 1 / n + sum(n - 1);
}
вот еще что-то нашел, посмотрите пжлста)
takhvatulin
10 / 10 / 0
Регистрация: 04.04.2014
Сообщений: 140
10.07.2014, 12:25 #13
Ну да, считают они сумму, только сумма, еще раз повторюсь, никогда не станет равной двум, она будет стремится к двум

Добавлено через 57 секунд
Если вы введете такое "а" которое будет меньше двух, то задача решаема, если введете "а" = 2 и более, попадете в бесконечный цикл
Alex5
1052 / 715 / 105
Регистрация: 12.04.2010
Сообщений: 1,810
10.07.2014, 14:55 #14
Цитата Сообщение от takhvatulin Посмотреть сообщение
еще раз повторюсь, никогда не станет равной двум, она будет стремится к двум
takhvatulin, сумма гармонического ряда равна бесконечности.
Kotovskiy
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 32
10.07.2014, 17:18  [ТС] #15
ну так помогите додумать))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2014, 17:18
Привет! Вот еще темы с ответами:

Дано рандомное вещественное число P, найти число M после запятой - C++
1)Дано рандомное вещественное число P, найти число М после запятой, если пользователь задает точность количества чисел после запятой. 2)...

Дано вещественное число A и целое число N (> 0). Найти A в степени N - C++
Дано вещественное число A и целое число N (&gt; 0). Найти A в степени N: AN = A•A• … •A (числа A перемножаются N раз).

Дано вещественное число. Найти его вторую цифру в дробной части - C++
Дано вещественное число. Найти его вторую цифру в дробной части.

Дано вещественное число B>0. Последовательность чисел образуется по правилу: a0=1, ai+1=ai2+1. Распечатать все числа ai такие , что ai<B - C++
Дано вещественное число B&gt;0. Последовательность чисел образуется по правилу: a0=1, ai+1=ai^2+1. Распечатать все числа ai такие , что...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.07.2014, 17:18
Ответ Создать тему
Опции темы

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