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

найти сумму всех чисел от а до b кратных 13 и 5 - C++

Войти
Регистрация
Восстановить пароль
 
Mishaka
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 32
25.09.2012, 20:33     найти сумму всех чисел от а до b кратных 13 и 5 #1
Вот что я пока что написал... Как сложить значения не знаю... выходит бурда полная...
C++
1
2
3
4
5
6
7
8
9
10
{   unsigned long a,b,i;
    cin >> a;
    cin >> b;
    for (i=a;i<b;i++)
    {
        if (i%13==0) 
            if (i%5==0)
    cout <<i;
    }
}
в общем прога выводит не сумму, а лишь числа кратные 5 и 13...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 20:33     найти сумму всех чисел от а до b кратных 13 и 5
Посмотрите здесь:

Найти сумму чисел, кратных 3 C++
C++ Подсчитать сумму всех чисел натурального ряда от 9 до 89 кратных 3.
Найти сумму всех элементов массива, кратных 4 C++
Найти сумму всех элементов массива, кратных 4 C++
Найти сумму всех элементов, кратных заданному числу C++
C++ Найти сумму чисел кратных 5
Вычислить сумму всех трёхзначных чисел, кратных 13 (блок-схему и программу) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
25.09.2012, 20:35     найти сумму всех чисел от а до b кратных 13 и 5 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
   unsigned long a,b,i, sum = 0;
   cin >> a;
   cin >> b;
   for (i=a;i<b;i++)
   {
      if (i%13==0) 
      {
         sum += i;
         cout << i;
      }
      else if (i%5==0)
      {
         sum += i;
         cout <<i;
      }
   }
   cout << sum;
 }
Mishaka
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 32
25.09.2012, 21:28  [ТС]     найти сумму всех чисел от а до b кратных 13 и 5 #3
Цитата Сообщение от I.M. Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
   unsigned long a,b,i, sum = 0;
   cin >> a;
   cin >> b;
   for (i=a;i<b;i++)
   {
      if (i%13==0) 
      {
         sum += i;
         cout << i;
      }
      else if (i%5==0)
      {
         sum += i;
         cout <<i;
      }
   }
   cout << sum;
 }
спасибо, но программа выдает полную ерунду...

Добавлено через 43 минуты
товарищи может есть еще какие нибудь соображения? Это моя вторая программа, так что самостоятельно не могу пока сообразить что к чему к сожалению...
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.09.2012, 21:35     найти сумму всех чисел от а до b кратных 13 и 5 #4
Mishaka, Для Вас I.M. написал программу вычисляющую сумму всех чисел от а до b кратных 13 или 5. Если нужно: найти сумму всех чисел от а (включительно) до b (включительно) кратных 13 и одновременно кратных 5, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
{
   unsigned long a,b,i, sum = 0;
   cin >> a;
   cin >> b;
   for (i=a;i<=b;i++)
   {
      if (i%13==0 && i%5==0)  
         sum += i;
   
   }
   cout << sum;
 }
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.09.2012, 21:38     найти сумму всех чисел от а до b кратных 13 и 5 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
long Sum(long a, long b)
{
   long i, n;
   for (i = a; i <= b && i % 65; i++)
      ;
   n = (b - i) / 65 + 1;
   return i * n + (n - 1) * n * 65 / 2;
}
 
int main()
{
   printf("%ld\n", Sum(65, 195));
   return 0;
}
Mishaka
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 32
25.09.2012, 21:40  [ТС]     найти сумму всех чисел от а до b кратных 13 и 5 #6
Цитата Сообщение от I.M. Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
   unsigned long a,b,i, sum = 0;
   cin >> a;
   cin >> b;
   for (i=a;i<b;i++)
   {
      if (i%13==0) 
      {
         sum += i;
         cout << i;
      }
      else if (i%5==0)
      {
         sum += i;
         cout <<i;
      }
   }
   cout << sum;
 }
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Mishaka, Для Вас I.M. написал программу вычисляющую сумму всех чисел от а до b кратных 13 или 5. Если нужно: найти сумму всех чисел от а (включительно) до b (включительно) кратных 13 и одновременно кратных 5, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
{
   unsigned long a,b,i, sum = 0;
   cin >> a;
   cin >> b;
   for (i=a;i<=b;i++)
   {
      if (i%13==0 && i%5==0)  
         sum += i;
   
   }
   cout << sum;
 }
это и требовалось=) спасибо, я примерно так все и делал, просто по неопытности не знал такого литерала +=
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.09.2012, 21:45     найти сумму всех чисел от а до b кратных 13 и 5 #7
Разные способы имеются решения данной простой задачи: посты 4 и 5. При этом так как 5 и 13 взаимно просты, то условия
if (i % 5 == 0 && i % 13 == 0)
и
if (i % 65 == 0)
эквивалентны
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.09.2012, 21:52     найти сумму всех чисел от а до b кратных 13 и 5 #8
Цитата Сообщение от Thinker Посмотреть сообщение
Разные способы имеются решения данной простой задачи: посты 4 и 5. При этом так как 5 и 13 взаимно просты, то условия
if (i % 5 == 0 && i % 13 == 0)
и
if (i % 65 == 0)
эквивалентны
я еще немного добавлю: если важна скорость вычисления, то из перечисленных вариантов решения - вариант Thinker самый быстрый (но есть быстрее).
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.09.2012, 21:55     найти сумму всех чисел от а до b кратных 13 и 5 #9
Цитата Сообщение от valeriikozlov Посмотреть сообщение
но есть быстрее

Не по теме:

интуиция подсказывает, что есть, но вот сообразить не могу с ходу, кроме того, что в #5...Хотя, от суммы от 0 до b вычитаем сумму от 0 до а плюс a (в завмсимомти от делимости на 65). Такой способ?

valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.09.2012, 22:03     найти сумму всех чисел от а до b кратных 13 и 5 #10
Цитата Сообщение от Thinker Посмотреть сообщение
интуиция подсказывает, что есть, но вот сообразить не могу с ходу, кроме того, что в #5...
в этотом варианте задачи мало будет ускорения (но при других данных может быть существенное):

Цитата Сообщение от Thinker Посмотреть сообщение
for (i = a; i <= b && i % 65; i++)
;
здесь нужное i Вы (я знаю это) можете найти не методом перебора, а арифметическими действиями )
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.09.2012, 22:05     найти сумму всех чисел от а до b кратных 13 и 5 #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Придумал вот как
C++
1
2
3
4
5
6
7
long Sum(long a, long b)
{
   long na, nb;
   na = a / 65 + 1;
   nb = b / 65 + 1;
   return (nb - 1) * nb * 65 / 2 - (na - 1) * na * 65 / 2 + (a % 65 ? 0 : a);
}
Ну, деление на 2 само собой заменится сдвигами, это так, для наглядности
Mishaka
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 32
27.09.2012, 18:39  [ТС]     найти сумму всех чисел от а до b кратных 13 и 5 #12
Цитата Сообщение от Thinker Посмотреть сообщение
Придумал вот как
C++
1
2
3
4
5
6
7
long Sum(long a, long b)
{
   long na, nb;
   na = a / 65 + 1;
   nb = b / 65 + 1;
   return (nb - 1) * nb * 65 / 2 - (na - 1) * na * 65 / 2 + (a % 65 ? 0 : a);
}
Ну, деление на 2 само собой заменится сдвигами, это так, для наглядности
Ух! Что-то серьезное=-0. Я только начинаю изучать этот язык, так что в принципе для меня главное-это хоть какая-нибудь работоспособность программы=) об оптимизации я могу пока только мечтать=)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 18:48     найти сумму всех чисел от а до b кратных 13 и 5
Еще ссылки по теме:

Найти сумму целых положительных чисел из промежутка от А до В, кратных 4 C++
C++ Цикл с параметром: найти сумму всех n-значных чисел, кратных k
Найти сумму всех двузначных чисел,кратных 5 (цикл while) C++
C++ Найти сумму всех чисел из промежутка от А до В, кратных 13 и 5
В заданной последовательности найти сумму всех целых чисел кратных 5 (для решения задачи использовать while) C++

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

Или воспользуйтесь поиском по форуму:
Thinker
27.09.2012, 18:48     найти сумму всех чисел от а до b кратных 13 и 5
  #13

Не по теме:

Mishaka, здесь алгоритм главное придумать, а потом уже его реализация.

Yandex
Объявления
27.09.2012, 18:48     найти сумму всех чисел от а до b кратных 13 и 5
Ответ Создать тему
Опции темы

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