Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Iridze
1 / 1 / 0
Регистрация: 22.02.2017
Сообщений: 77
#1

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

31.10.2017, 20:36. Просмотров 245. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать программу (C++):

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

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

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

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

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

Написать программу в C++ - C++
1 Студенты выполнили задание за которое каждый из них получили балл в диапозоне от 1 до 100. Эти значения должны быть переведены в шкалу...

19
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
31.10.2017, 20:41 #2
Цитата Сообщение от Iridze Посмотреть сообщение
что делать с ним
заполнить по правилу (n-1)!+x^n
типа 2!+x^3+4!+x^5 и т.д.
0
QuakerRUS
314 / 274 / 122
Регистрация: 30.10.2017
Сообщений: 901
Завершенные тесты: 2
31.10.2017, 20:46 #3
Поместите 0 в переменную. Цикл от 1 до n со счетчиком i. Если i кратно двум, то прибавляйте к ответу x^i, иначе прибавляйте i!
0
Herji
288 / 200 / 99
Регистрация: 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
Сообщений: 77
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
Сообщений: 77
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
314 / 274 / 122
Регистрация: 30.10.2017
Сообщений: 901
Завершенные тесты: 2
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
Сообщений: 77
31.10.2017, 20:59  [ТС] #8
только у меня появилась если так, то проблемка
Мне нельзя использоваться стандартные функции и мною созданные тоже, не говоря уже про факториал
0
QuakerRUS
314 / 274 / 122
Регистрация: 30.10.2017
Сообщений: 901
Завершенные тесты: 2
31.10.2017, 21:03 #9
Так нужно, чтобы вами функции были написаны или стандартные? Вы говорили, что функции степени и факториала уже написали. Просто подставьте их в выражение.
0
Herji
288 / 200 / 99
Регистрация: 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
Сообщений: 77
31.10.2017, 21:05  [ТС] #11
нет, я просто отдельно написала просто типа условий, которые вставляются в main
именно функции мне нельзя делать и стандартные нельзя использовать
0
Kuzia domovenok
2130 / 1958 / 197
Регистрация: 25.03.2012
Сообщений: 6,821
Записей в блоге: 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
1375 / 1154 / 340
Регистрация: 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
Сообщений: 77
31.10.2017, 21:14  [ТС] #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
rezult += (i&1)?:f;
не могу понять смысл строчки
похоже на тернарную операцию, но какую-то странную

Добавлено через 15 секунд
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
rezult += (i&1)?:f;
не могу понять смысл строчки
похоже на тернарную операцию, но какую-то странную
0
Kuzia domovenok
2130 / 1958 / 197
Регистрация: 25.03.2012
Сообщений: 6,821
Записей в блоге: 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
31.10.2017, 21:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2017, 21:20
Привет! Вот еще темы с ответами:

Написать программу в C++ - C++
При вирішенні задачі, використовувати всі типи циклів (for, while, do while). Дана послідовність цілих чисел, за якою слідує 0. Знайти...

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

Написать программу - C++
Нужно срочно написать программу С++ Вычисление значения функции Дано вещественное число а. Для функции y=f(x), график которой...

Написать программу - C++
Помогите написать программу в С++ Вводится целое положительное число. Найти наибольшую цифру числа.


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

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

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