Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2015, 17:38   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Aleksander550, у Вас получаются лишние вызовы rabbits(mounth-1)+rabbits(mounth-2), которые портят всю картину.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.03.2015, 18:29   #12
Aleksander550
Форумчанин
 
Регистрация: 07.01.2014
Сообщений: 124
По умолчанию

я основу для программы брал из первого поста.
разница для Х = 8, мои вариант даёт 757 действий, ваш - 41
#define TRUE FALSE //счастливой отладки
Aleksander550 вне форума Ответить с цитированием
Старый 15.03.2015, 18:41   #13
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Цитата:
Либо лекции хреновые, либо записываете так.
Чем Вам лекции не нравятся? Он уже устал от нашего недопонимания, смирился и дабы упросить понимание-дал упрощенную версию, возможно х)

Код:
#include <QCoreApplication>
#include <qmath.h> 

float prototupe(int prt) 
{ 
prt=1/pow(prt,3); 
if (prt==1) return 1; 
if (prt%2==0) return prototupe(prt)+prototupe(prt); else return prototupe(prt)-prototupe(prt); 

} 
int main(int argc, char *argv[]) 
{ QCoreApplication a(argc, argv); 
int i=1; 
printf("%f",prototupe(i)); 
return a.exec(); }
Ребят, как написать код, чтоб вычислялся ряд задания 1?
Изображения
Тип файла: jpg IMAG0959.jpg (60.7 Кб, 150 просмотров)
from dark to light)

Последний раз редактировалось Stilet; 22.03.2015 в 09:31.
Алексей_2012 вне форума Ответить с цитированием
Старый 18.03.2015, 18:25   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>

float f(int i)
{
    float a = 1.0 / (i * i * i);
    if (a < 0.00001)
        return 0;
    else if (i % 2)
        return a + f(i + 1);
    else
        return -a + f(i + 1);
}

int main(void)
{
    printf("%f\n", f(1)); 
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 21.03.2015, 19:01   #15
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, вторая задача тоже не работает
Код:
#include <QCoreApplication>
#include <math.h>

float znamenatel(int chislo)
{float zn;
    if (chislo<0.00001) return zn =2*pow(3,2);
    else
    {
        if (chislo%2==0)
            return znamenatel(zn)/(pow(znamenatel(chislo+1),chislo));
                    else
            return (-1)*znamenatel(zn)/(pow(znamenatel(chislo+1),chislo));
    }
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
   printf("%f",znamenatel(1));
    return a.exec();
}
Это только одна функция по расчету знаменателя, заметил то, что от i=2 до бесконечности знаменатель выражается так

3^5,5^8,7^11, то есть знаменатель увеличивается на 2, а его степень на три, при этом в зависимости от i в числителе либо положительное число, либо отрицательное, вот как сделать функцию суммирования отдельно-не знаю, задача стоит так: написать две функции по расчету сначала знаменателя, а потом суммы элементов и вызвать в главной программе
from dark to light)

Последний раз редактировалось Алексей_2012; 21.03.2015 в 19:04.
Алексей_2012 вне форума Ответить с цитированием
Старый 22.03.2015, 03:33   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Какой ряд суммируется?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 22.03.2015, 06:42   #17
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Второй ряд суммируется, следуя из задания, но я подумал что при нечетном и не равным единице I значении в числителе будет положительный два корней из трех, иначе-отрицательный, как-то так, простите, с утра голова вообще не работает
from dark to light)

Последний раз редактировалось Алексей_2012; 22.03.2015 в 06:44.
Алексей_2012 вне форума Ответить с цитированием
Старый 22.03.2015, 19:37   #18
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Если речь о втором ряде с фото выше, то:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

float f(int i, int k)
{
    float a = 1.0 / (2 * i - 1) / k;
    k *= 3;
    if (a < 0.00001)
        return 0;
    else if (i % 2)
        return a + f(i + 1, k);
    else
        return -a + f(i + 1, k);
}

int main(void)
{
    printf("%f\n", 2 * sqrt(3) * f(1, 1)); 
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.05.2015, 20:50   #19
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ребят, а как вычислить ряд, с заданной точностью такого вида:

(1/1+(x^2))+
(1/1+(x^4))+
(1/1+(x^6))+
....

Код:

#include <QCoreApplication>
#include <math.h>

int i=0;

float recurs(int x)
{i+=2;
    float a=1.0/(1+pow(x,i));

    if (a < 0.00001) return 0;
    else
        return a+recurs(x);


}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
int x1=2;
    printf("Vvedite chislo X: ");
    scanf("%d",&x1);
    printf("%f",recurs(x1));
    return a.exec();
}
Вроде работает так, но я не уверен.

переменная х вводится с клавиатуры пользователем, наверное, по крайней мере в задании такого не написано, просто указан ряд, который нужно представить в рекурсивном виде
from dark to light)

Последний раз редактировалось Алексей_2012; 30.05.2015 в 21:03.
Алексей_2012 вне форума Ответить с цитированием
Старый 30.05.2015, 21:38   #20
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

проверьте, пожалуйста, второе уравнение, так ли работает моя рекурсия?
Изображения
Тип файла: jpg ряд.jpg (31.3 Кб, 143 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия Ника-Вероника Паскаль, Turbo Pascal, PascalABC.NET 6 23.03.2012 21:43
Рекурсия unbanned Паскаль, Turbo Pascal, PascalABC.NET 7 19.01.2012 11:25
Рекурсия dusya9992 Паскаль, Turbo Pascal, PascalABC.NET 4 29.08.2010 14:14
Рекурсия Solnze2 Паскаль, Turbo Pascal, PascalABC.NET 0 09.06.2010 09:28
Рекурсия Shadows_Behind Помощь студентам 6 26.05.2010 15:07