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

Задача на вычисление - C++

Восстановить пароль Регистрация
 
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
02.12.2011, 17:49     Задача на вычисление #1
Вычислить сумму кубов всех черных чисел, лежащих в диапозоне от Х до У, где Х и У - вводимые с клавиатуры натуральные числа.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 17:58     Задача на вычисление #2
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
#include <stdio.h>
#include <math.h>
 
int main(void)
{
    int x, y, i, buf;
    long sum = 0;
    printf("Enter x: ");
    scanf("%d", &x);
    printf("Enter y: ");
    scanf("%d", &y);
    if (x > y)
    {
        buf = x;
        x = y;
        y = buf;
    }
    for(i = x; i <= y; i++)
        if (! (i & 1))
        sum += (long)pow((long double)i, (long double)3);
    printf("Sum: %d\n", sum);
    system("pause");
    return 0;
}
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
02.12.2011, 20:46  [ТС]     Задача на вычисление #3
А что означает 19-ая строчка? Будте добры, объясните.

Добавлено через 1 час 6 минут
(((((

Добавлено через 8 минут
C
1
               if (! (i & 1))
Что делает нам эта строчка?
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 20:49     Задача на вычисление #4
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
#include <stdio.h>
#include <math.h>
 
int main(void)
{
        int x, y, i, buf;
        long sum = 0;
        printf("Enter x: ");
        scanf("%d", &x);
        printf("Enter y: ");
        scanf("%d", &y);
        if (x > y)
        {
                buf = x;
                x = y;
                y = buf;
        }
        if (x & 1)
            x++;
        for(i = x; i <= y; i = i + 2)
            sum += (long)pow((long double)i, (long double)3);
        printf("Sum: %d\n", sum);
        system("pause");
        return 0;
}
Так будет лучше, потому что условие не будет проверяться каждый раз в цикле.
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
02.12.2011, 21:10  [ТС]     Задача на вычисление #5
Хорошо, спасибо, но что означает 18ая строчка?
C
1
              if (x & 1)
Добавлено через 12 минут
Петррр, ответье пожалуйста.
Yandex
Объявления
02.12.2011, 21:10     Задача на вычисление
Ответ Создать тему
Опции темы

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