2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
1

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

18.10.2011, 19:37. Показов 5023. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводятся числа a и b. Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2011, 19:37
Ответы с готовыми решениями:

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

Найти сумму чисел, у которых остаток от деления на 7 такой же, как и у b при делении на 7
Сумма чисел, у которых остаток от деления на 7 такой же, как и у b при делении на 7 в диапозоне ,...

Цикл с параметром (for): Найти сумму чисел в диапазоне [a;b], которые при делении на 5 дают остаток 3
Вводятся числа a и b. Найти сумму чисел в диапазоне , которые при делении на 5 дают остаток 3.

В диапазоне чисел найти числа, которые при делении на 7 дают остаток 1, 2 или 5
Даны натуральные числа от А до В. Найти и напечатать те из них, которые при делении на 7 дают...

22
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:06 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;
}
0
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:36  [ТС] 3
Мне кажется что здесь не совсем так как просят в задаче
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:39 4
Почему?
К примеру числа 2 и 15
Я думаю, что ответ 8 + 15 = 23.
А вы?
Приведите пример входных и выходных данных.
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 20:41 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;
}
0
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:45  [ТС] 6
Цитата Сообщение от soon Посмотреть сообщение
Почему?
К примеру числа 2 и 15
Я думаю, что ответ 8 + 15 = 23.
А вы?
Приведите пример входных и выходных данных.
Это то да, но суммируються числа которые в диапозоне от 2х до 15 деляться на 7 и у которых остаток от деления на 7 такой же, как и у b при делении на 7.
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:53 7
Ну. 15 делить на 7 = 2, остаток 1.
8 делить на 7 = 1, остаток 1.
15 + 8 = 23.
Все вроде верно, разве нет?
0
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:57  [ТС] 8
Цитата Сообщение от soon Посмотреть сообщение
Ну. 15 делить на 7 = 2, остаток 1.
8 делить на 7 = 1, остаток 1.
15 + 8 = 23.
Все вроде верно, разве нет?
Да вроде верно, ток я пихнул это в "C" ввожу 15 и 8 он 0 выдает, A ведь может быть заведомо больше чем Б
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 21:16 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;
}
2
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:13  [ТС] 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 почему ?
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:14 11
Цитата Сообщение от ForSpam Посмотреть сообщение
Такой вопрос А=8 Б=44
т.е 8+15+22+29+36+43 = 153
Программа выдает ответ 159 почему ?
Вы не те числа складываете. Моя программа из #5 тоже 159 выдает. Складывать надо с конца, а не с начала
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:15 12
Потому, что b = 44, сами же сказали.
0
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:24  [ТС] 13
Цитата Сообщение от Thinker Посмотреть сообщение
Вы не те числа складываете. Моя программа из #5 тоже 159 выдает. Складывать надо с конца, а не с начала
Все Равно не понял,как так крыша едет совсем...
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:28 14
У вас b = 44.
44 % 7 = 2.
8 % 7 = 1.
Смекаете?
1
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:29 15
Цитата Сообщение от ForSpam Посмотреть сообщение
Все Равно не понял,как так крыша едет совсем...
44 + 37 + 30 + 23 + 16 + 9 = 159
0
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:29  [ТС] 16
Так он же должен складывать числа с одинаковым остатком?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:30 17
Ага, причем с остатком, равным b % 7.
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:30 18
Цитата Сообщение от ForSpam Посмотреть сообщение
Так он же должен складывать числа с одинаковым остатком?
А мы с soon именно это и делаем
1
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:41  [ТС] 19
Цитата Сообщение от Thinker Посмотреть сообщение
44 + 37 + 30 + 23 + 16 + 9 = 159
Да уже сам допер, но все равно спасибо. Пойду воздухом подышу....

Добавлено через 10 минут
Вводятся числа a и b. Найти сумму чисел в диапазоне [a;b], которые при делении на 5 дают остаток 3.
Есть идеи ?
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:44 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;
}
1
18.10.2011, 22:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2011, 22:44
Помогаю со студенческими работами здесь

Вложенный цикл. Найти трехзначные числа, которые при делении на 2 дают остаток 1, при делении на 3 остаток 2, при делении на 4 остаток 3
НАЙТИ С ПОМОЩЬЮ ВЛОЖЕННОГО ЦИКЛА))) найти асе трехзначные числа, которые при делении на 2 дают...

Вывести сумму чисел на интервале от а до б, у которых при делении на пять остаток равен 3
Вывести сумму чисел на интервале от а до б, у которых при делении на пять остаток равен 3

Определить произведение элементов, которые при делении на 2 дают такой же остаток как и при делении на 3
Ввести двумерный массив А3×4 . Определить произведение элемен-тов, которые при делении на 2 дают...

Определить произведение элементов, которые при делении на 2 дают такой же остаток как и при делении на 3.
1 задача Ввести двумерный массив A 3×4 . Определить произведение элементов, которые при делении...

Найти сумму таких чисел в диапазоне [a;b], синус которых больше нуля.
Вводятся числа a и b. Найти сумму таких чисел в диапазоне , синус которых больше нуля. ...

Найти сумму натуральных целых чисел от a до b, дающих при делении на 5 остаток 3
Всем привет!!!!!ПОМОГИТЕ НАПИСАТЬ ПРОГРАММУ. 2)Необходимо найти сумму натуральных целых чисел от...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru