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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
#1

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

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

Вводятся числа a и b. Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2011, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму таких чисел в диапазоне [a;b], у которых остаток от деления на 7 такой же, как и у b при делении на 7. (C++):

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

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

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

Айти количество целых чисел x таких, что 0 <= x < n и число a*x при делении дает остаток b. - C++
Даны числа a, b и n. Требуется найти количество целых чисел x таких, что 0 &lt;= x &lt; n и число a*x при делении дает остаток b.

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 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
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 20:36  [ТС] #3
Мне кажется что здесь не совсем так как просят в задаче
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:39 #4
Почему?
К примеру числа 2 и 15
Я думаю, что ответ 8 + 15 = 23.
А вы?
Приведите пример входных и выходных данных.
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 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
ForSpam
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
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 20:53 #7
Ну. 15 делить на 7 = 2, остаток 1.
8 делить на 7 = 1, остаток 1.
15 + 8 = 23.
Все вроде верно, разве нет?
0
ForSpam
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
soon
2540 / 1305 / 81
Регистрация: 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
ForSpam
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
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 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
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:15 #12
Потому, что b = 44, сами же сказали.
0
ForSpam
2 / 2 / 0
Регистрация: 08.02.2011
Сообщений: 38
18.10.2011, 22:24  [ТС] #13
Цитата Сообщение от Thinker Посмотреть сообщение
Вы не те числа складываете. Моя программа из #5 тоже 159 выдает. Складывать надо с конца, а не с начала
Все Равно не понял,как так крыша едет совсем...
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.10.2011, 22:28 #14
У вас b = 44.
44 % 7 = 2.
8 % 7 = 1.
Смекаете?
1
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.10.2011, 22:29 #15
Цитата Сообщение от ForSpam Посмотреть сообщение
Все Равно не понял,как так крыша едет совсем...
44 + 37 + 30 + 23 + 16 + 9 = 159
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2011, 22:29
Привет! Вот еще темы с ответами:

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

Найти среднее арифметическое таких чисел в диапазоне [a; b], у которых последняя цифра равна 7 - C++
Вводятся числа a и b. Найти среднее арифметическое таких чисел в диапазоне , у которых последняя цифра равна 7. #include&lt;iostream&gt; ...

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

Найти все натуральные числа в диапазоне между m и n (m<n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел. - C++
Найти все натуральные числа в диапазоне между m и n (m&lt;n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.10.2011, 22:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru