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

Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 19:37     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #1
Вводятся числа a и b. Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2011, 19:37     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Посмотрите здесь:

вводятся числа a и b. Надо найти сумму таких чисел в диапазоне [a;b], которые при возведении в квадрат дают число с последней цифрой 6. C++
Найти все натуральные числа в диапазоне между m и n (m<n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел. C++
Длинная арифметика (найти остаток при делении на 7) C++
C++ Цикл с параметром (for): Найти сумму чисел в диапазоне [a;b], которые при делении на 5 дают остаток 3
Найти сумму таких чисел в диапазоне [a;b], синус которых больше нуля. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:06     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void)
{
    int a, b;
    scanf("%d%d", &a, &b);
    if((a % 7) <= (b % 7))
        a += (b % 7) - (a % 7);
    else
        a += (b % 7) - (a % 7) + 7;
    for( ; a <= b; a += 7)
        printf("%d\t", a);
    return 0;
}
Добавлено через 2 минуты
Пардон, не до конца прочитал задание. Вот на вычисление суммы
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(void)
{
    int a, b, sum = 0;
    scanf("%d%d", &a, &b);
    if((a % 7) <= (b % 7))
        a += (b % 7) - (a % 7);
    else
        a += (b % 7) - (a % 7) + 7;
    for( ; a <= b; a += 7)
        sum += a;
    printf("%d", sum);
    return 0;
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:36  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #3
Мне кажется что здесь не совсем так как просят в задаче
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:39     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #4
Почему?
К примеру числа 2 и 15
Я думаю, что ответ 8 + 15 = 23.
А вы?
Приведите пример входных и выходных данных.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 20:41     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(void)
{
    int i, a, b, sum = 0, r;
    scanf("%d%d", &a, &b);
    r = b % 7;
    for(i = a; i <= b; i++)
        if (i % 7 == r)
            sum += i;
    printf("%d", sum);
    return 0;
}
Более оптимальный вариант:
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <conio.h>
int main(void)
{
    int i, a, b, sum = 0;
    scanf("%d%d", &a, &b);
    for(i = b; i >= a; i -= 7)
       sum += i;
    printf("%d\n", sum);
    getch();
    return 0;
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:45  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #6
Цитата Сообщение от soon Посмотреть сообщение
Почему?
К примеру числа 2 и 15
Я думаю, что ответ 8 + 15 = 23.
А вы?
Приведите пример входных и выходных данных.
Это то да, но суммируються числа которые в диапозоне от 2х до 15 деляться на 7 и у которых остаток от деления на 7 такой же, как и у b при делении на 7.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:53     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #7
Ну. 15 делить на 7 = 2, остаток 1.
8 делить на 7 = 1, остаток 1.
15 + 8 = 23.
Все вроде верно, разве нет?
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:57  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #8
Цитата Сообщение от soon Посмотреть сообщение
Ну. 15 делить на 7 = 2, остаток 1.
8 делить на 7 = 1, остаток 1.
15 + 8 = 23.
Все вроде верно, разве нет?
Да вроде верно, ток я пихнул это в "C" ввожу 15 и 8 он 0 выдает, A ведь может быть заведомо больше чем Б
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 21:16     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #9
Цитата Сообщение от ForSpam Посмотреть сообщение
Да вроде верно, ток я пихнул это в "C" ввожу 15 и 8 он 0 выдает, A ведь может быть заведомо больше чем Б
По негласному(а может и гласному) правилу, промежутки пишутся от меньшего к большему. Так что по сути, промежуток [15, 8] существовать не должен. По крайней мере нам в школе именно так и преподавали. А раз промежутка нет, то и сумма = 0.
Если же это так важно, то вот
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(void)
{
    int i, a, b, sum = 0;
    int *minPtr = &a, *maxPtr = &b;
    scanf("%d%d", &a, &b);
    if(a > b)
    {
        minPtr = &b;
        maxPtr = &a;
    }
    for(i = *maxPtr; i >= *minPtr; i -= 7)
       sum += i;
    printf("%d\n", sum);
    return 0;
}
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:13  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #10
Цитата Сообщение от soon Посмотреть сообщение
По негласному(а может и гласному) правилу, промежутки пишутся от меньшего к большему. Так что по сути, промежуток [15, 8] существовать не должен. По крайней мере нам в школе именно так и преподавали. А раз промежутка нет, то и сумма = 0.
Если же это так важно, то вот
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(void)
{
    int i, a, b, sum = 0;
    int *minPtr = &a, *maxPtr = &b;
    scanf("%d%d", &a, &b);
    if(a > b)
    {
        minPtr = &b;
        maxPtr = &a;
    }
    for(i = *maxPtr; i >= *minPtr; i -= 7)
       sum += i;
    printf("%d\n", sum);
    return 0;
}
Такой вопрос А=8 Б=44
т.е 8+15+22+29+36+43 = 153
Программа выдает ответ 159 почему ?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:14     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #11
Цитата Сообщение от ForSpam Посмотреть сообщение
Такой вопрос А=8 Б=44
т.е 8+15+22+29+36+43 = 153
Программа выдает ответ 159 почему ?
Вы не те числа складываете. Моя программа из #5 тоже 159 выдает. Складывать надо с конца, а не с начала
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:15     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #12
Потому, что b = 44, сами же сказали.
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:24  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #13
Цитата Сообщение от Thinker Посмотреть сообщение
Вы не те числа складываете. Моя программа из #5 тоже 159 выдает. Складывать надо с конца, а не с начала
Все Равно не понял,как так крыша едет совсем...
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:28     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #14
У вас b = 44.
44 % 7 = 2.
8 % 7 = 1.
Смекаете?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:29     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #15
Цитата Сообщение от ForSpam Посмотреть сообщение
Все Равно не понял,как так крыша едет совсем...
44 + 37 + 30 + 23 + 16 + 9 = 159
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:29  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #16
Так он же должен складывать числа с одинаковым остатком?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:30     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #17
Ага, причем с остатком, равным b % 7.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:30     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #18
Цитата Сообщение от ForSpam Посмотреть сообщение
Так он же должен складывать числа с одинаковым остатком?
А мы с soon именно это и делаем
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:41  [ТС]     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #19
Цитата Сообщение от Thinker Посмотреть сообщение
44 + 37 + 30 + 23 + 16 + 9 = 159
Да уже сам допер, но все равно спасибо. Пойду воздухом подышу....

Добавлено через 10 минут
Вводятся числа a и b. Найти сумму чисел в диапазоне [a;b], которые при делении на 5 дают остаток 3.
Есть идеи ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2011, 22:44     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Еще ссылки по теме:

Найти остаток при делении числа a на число b C++
Указать те из чисел последовательности, у которых остаток от деления на М равен L C++
C++ Найти сумму целых чисел дающих при делении на 5 в остатке 3

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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:44     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. #20
Цитата Сообщение от ForSpam Посмотреть сообщение
Вводятся числа a и b. Найти сумму чисел в диапазоне [a;b], которые при делении на 5 дают остаток 3.
Есть идеи ?
Такая же почти задача, как и прежняя, даже скучно...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
    int i, a, b, sum = 0;
    scanf("%d%d", &a, &b);
    for(i = a; i <= b; i++)
       if (i % 5 == 3)
           sum += i;
    printf("%d\n", sum);
    getch();
    return 0;
}
Более оптимально:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
int main(void)
{
    int i, a, b, sum = 0;
    scanf("%d%d", &a, &b);
    for(i = a; i%5 != 3; i ++)
        ;
    for(; i <= b; i += 5)
           sum += i;
    printf("%d\n", sum);
    getch();
    return 0;
}
Yandex
Объявления
18.10.2011, 22:44     Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
Ответ Создать тему
Опции темы

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