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

Ну могу понять суть задачи - C++

Восстановить пароль Регистрация
 
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
10.04.2014, 20:45     Ну могу понять суть задачи #1
Вот задача.Я не пойму что делать с х1=х2=х3-1 и хi
Найти http://www.cyberforum.ru/cgi-bin/latex.cgi?S =\sum_{i=1}^{100}\frac{{x}_{i}}{{2}^{i}} если http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{1}={x}_{2}={x}_{3}=1 ;  http://www.cyberforum.ru/cgi-bin/latex.cgi?  {x}_{i}={x}_{i-1}+{x}_{i-3},i=4,5....
Какой-то бред получился...
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main()
{
    float s = 0.0;
    int x[100],n;
    x[1] = x[2] = x[3] = 1;
    for (int i = 1; i < 100; i++,n++)
        s += x[i - n] / pow(2, i);
}
Миниатюры
Ну могу понять суть задачи  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
10.04.2014, 20:59     Ну могу понять суть задачи #2
Действительно, бред.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int x[3] = {1, 1, 1}; //x[i-1], x[i-2], x[i-3]
double denom = 1, x_i;
//первые три итерации
for (int i = 0; i < 3; i++,n++) { //это немного другой i
denom*= 2;
s += x[i]/denom;
}
for (int i = 4; i < 100; i++,n++) {
        denom *= 2;
        x_i = x[0] + x[2];
        //обновляем 
        x[0] = x[1];
        x[1] = x[2];
        x[2] = x_i;
        s += x_i / denom;
}
Примерно так, на скорую руку
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 20:59     Ну могу понять суть задачи #3
Вроде так:
C++ (Qt)
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()
{
    long int arr[3], current, devision = 8;
    double s;
    arr[0] = arr[1] = arr[2] = 1;
    s = 1 / 2 + 1 / 4 + 1/8;
    for (int i = 3; i <= 100; i++)
    {
        current = arr[0] + arr[2];
        devision *= 2;
        s += current / devision;
        arr[0] = arr[1];
        arr[1] = arr[2];
        arr[2] = current;
    }
    cout << s;
    return 0;
}
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
10.04.2014, 21:44     Ну могу понять суть задачи #4
KasyanDiGris, и уже в 10 строчке получите не то, что ожидали, ибо 1 / 2 = 1 / 4 = 1/8 = 0...
А вот 1.0/2, 1.0/4, 1.0/8 уже нулю не равны.
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 22:28     Ну могу понять суть задачи #5
Да ё
Глупая ошибка
Yandex
Объявления
10.04.2014, 22:28     Ну могу понять суть задачи
Ответ Создать тему
Опции темы

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