Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
#1

Написать программу

31.10.2017, 20:36. Просмотров 254. Ответов 19
Метки нет (Все метки)

Как можно написать такую программу?

x+2!+x^3+4!+...+(n-1)!+x^n

написала программы отдельно для степеней и факториалов, но мне мешает '...', не пойму, что делать с ним
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2017, 20:36
Ответы с готовыми решениями:

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом.
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К...

Надо написать программу на while или do while и написать алгоритм
Помогите пожалуйста с задачей:(. Даны действительные числа x , y ( x > 1)....

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для...

Разработать алгоритм и тесты, написать и отладить программу Выполнить программу, проанализировать результат
Из матрицы У(k, k) получить вектор Т, элементами которого являются элементы...

Написать программу в C++
При вирішенні задачі, використовувати всі типи циклів (for, while, do while)....

19
afront
1049 / 995 / 752
Регистрация: 29.02.2016
Сообщений: 3,187
31.10.2017, 20:41 #2
Цитата Сообщение от Iridze Посмотреть сообщение
что делать с ним
заполнить по правилу (n-1)!+x^n
типа 2!+x^3+4!+x^5 и т.д.
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
31.10.2017, 20:46 #3
Поместите 0 в переменную. Цикл от 1 до n со счетчиком i. Если i кратно двум, то прибавляйте к ответу x^i, иначе прибавляйте i!
0
Herji
290 / 202 / 173
Регистрация: 11.05.2016
Сообщений: 658
Завершенные тесты: 1
31.10.2017, 20:46 #4
в массив.

что-то вроде
C++
1
2
3
4
for(int i=0; i<n; i+=2)
{
       y+=fctrl(i)+pow(x, (i+1));
}
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 20:50  [ТС] #5
я понимаю, но у меня выходит что шаг - x^2 +(в факториале на 2 больше)
но как это описать?
я к тому, что n вводит пользователь
не писать же мне x^5+6!+x^7+8! и тд, так же можно до бесконечности вводить, если большое n ввести
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 20:55  [ТС] #6
Это что-то типа такого?
C++
1
2
3
4
5
6
7
8
9
s=0;
for(i=1,i<=n,i++){
if(i%2){
s=s+x^i;
else{
s=s+i!;
}
}
}
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
31.10.2017, 20:55 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, x, rezult = 0;
 
    cin >> n >> x;
 
    for (int i = 1; i <= n; i++)
    {
        rezult += i % 2 == 0 ? factorial(i) : pow(x, i) :;
    }
 
    cout << rezult;
}
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 20:59  [ТС] #8
только у меня появилась если так, то проблемка
Мне нельзя использоваться стандартные функции и мною созданные тоже, не говоря уже про факториал
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
31.10.2017, 21:03 #9
Так нужно, чтобы вами функции были написаны или стандартные? Вы говорили, что функции степени и факториала уже написали. Просто подставьте их в выражение.
0
Herji
290 / 202 / 173
Регистрация: 11.05.2016
Сообщений: 658
Завершенные тесты: 1
31.10.2017, 21:05 #10
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
 
int fctrl(int _num);
int pwr(int _num, int _pw);
 
int main(void)
{
    int n,x;
    int y = 0;
    std::cout << "input n,x:";
    std::cin >> n >> x;
 
    for(int i=0; i<n; i+=2)
    {
        y+=fctrl(i)+pwr(x, (i+1));
    }
 
    std::cout << y;
 
    system("pause");
    return(0);
}
 
int fctrl(int _num)
{
    if(_num)
    {
        int result = 1;
        while(_num)
        {
            result*=_num;
            _num--;
        }
        return (result);
    } else {
        return(0);
    }
}
 
int pwr(int _num, int _pw)
{
    int result = 1;
    for(int i=0; i< _pw; i++)
    {
        result*=_num;
    }
    return (result);
}
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 21:05  [ТС] #11
нет, я просто отдельно написала просто типа условий, которые вставляются в main
именно функции мне нельзя делать и стандартные нельзя использовать
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
31.10.2017, 21:06 #12
Цитата Сообщение от Iridze Посмотреть сообщение
Мне нельзя использоваться стандартные функции и мною созданные тоже, не говоря уже про факториал
это логично. Вызывать в цикле факториал уж очень некрасиво. Это ж с ума сойти! вызывать N раз функцию факториала, если можно один ра домножить предыдущий факториал на N без всякого цикла....
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, x, rezult = 0, f=1, p=1;
    cin >> n >> x;
 
    for (int i = 1; i <= n; i++)
    {
       rezult += (i&1)?:f;
       f*=i;
       p*=x
    }
 
    cout << rezult;
}
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
31.10.2017, 21:09 #13
не стыкуются:
Цитата Сообщение от Iridze Посмотреть сообщение
x+2!+x^3+4!+...+(n-1)!+x^n
если по левым:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double x,f=1,s=0;
int n;
cout<<"x n:";
cin>>x>>n;
double xn=x;
for(int i=0; i<=n; i+=2,xn*=x*x)
{
   s+=xn;
   if(i)
   {
      f*=(i-1)*i;
      s+=f;
   }
}
cout<<s<<end;
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 21:14  [ТС] #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
rezult += (i&1)?:f;
не могу понять смысл строчки
похоже на тернарную операцию, но какую-то странную

Добавлено через 15 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
rezult += (i&1)?:f;
не могу понять смысл строчки
похоже на тернарную операцию, но какую-то странную
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
31.10.2017, 21:20 #15
я извиняюсь, у меня залитая кровью клавиатура плохо букву p английскую печатает.
C++
1
rezult += (i%2==1)?p:f;
i&1 выдаёт остаток от деления на 2, оперируя с битовым представлением числа ( У нечётных чисел чччч1&00001 равно 00001.)

Добавлено через 16 секунд
я извиняюсь, у меня залитая клавиатура плохо букву p английскую печатает.
C++
1
rezult += (i%2==1)?p:f;
i&1 выдаёт остаток от деления на 2, оперируя с битовым представлением числа ( У нечётных чисел чччч1&00001 равно 00001.)

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, x, rezult = 0, f=1, p=1;
    cin >> n >> x;
 
    for (int i = 1; i <= n; i++)
    {
       rezult += (i&1)?p:f;
//rezult += (i%2==1)?p:f;
       f*=i;
       p*=x
    }
 
    cout << rezult;
}
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
31.10.2017, 21:20 #16
...
0
QuakerRUS
470 / 427 / 204
Регистрация: 30.10.2017
Сообщений: 1,370
Завершенные тесты: 3
31.10.2017, 21:31 #17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, x, rezult = 0, p = 1, f = 1;
 
    cin >> n >> x;
 
    for (int i = 1; i <= n; i++)
    {
        p *= x;
        f *= i;
        rezult += i % 2 == 0 ? f : p;
    }
 
    cout << rezult << endl;
 
    system("pause");
    return 0;
}
Добавлено через 11 минут
Kuzia domovenok, сначала надо умножать, потом прибавлять к результату.
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 21:46  [ТС] #18
почему-то программа не хочет считать
когда должен быть 4! она считает x^4
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,173
Записей в блоге: 1
31.10.2017, 21:49 #19
Цитата Сообщение от Iridze Посмотреть сообщение
почему-то программа не хочет считать
когда должен быть 4! она считает x^4
конкретно, о каком из ответов речь, что вводишь за x, что вводишь за n?
0
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 87
31.10.2017, 22:11  [ТС] #20
все уже нормально
0
31.10.2017, 22:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2017, 22:11

Написать программу на C++
1) Дан вектор N (12). Найти минимальный элемент среди отрицательных и разделить...

Написать программу
написать программу вы числящую сумму всех элементов матрицы целых чисел...

Написать программу на С++
можете помочьПользователь вводит положительные числа. Подсчитать сумму этих...


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

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

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