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

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

Войти
Регистрация
Восстановить пароль
 
Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
#1

Оптимизация простой программы - C++

21.04.2013, 13:56. Просмотров 376. Ответов 4
Метки нет (Все метки)

Суть задачи такова: программа должна вычислить сумму цифр которые делятся на a или b и цифры должны быть меньше n. Максимальное число n = 10^18. Программа работает хорошо но вылетает на тесте тайм лимит. Как ее можно оптимизировать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned long long int n,a,b;
    
    cin>>n>>a>>b;
    unsigned long long  int tmp = 0;
    for(int i = 1; i < n; i++)
    {
    if((i%a == 0) || (i%b == 0)){
            tmp += i;
            }
    }
    cout<<(tmp%1000000007);
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 13:56     Оптимизация простой программы
Посмотрите здесь:

Оптимизация программы - C++
Здравствуйте,задали задачку :Напишите программу, которая будет выполнять последовательность запросов вида ADD num, PRESENT num и COUNT (без...

Оптимизация программы - C++
Как ещё можно оптимизировать нижеприведенный код? По условию задачи он выполняется дооолго. Собственно вот задача: В секретной...

Оптимизация программы - C++
Нужно, чтобы программа случайным образом придумывала число от 1 до 32767 и печатала его цифры через 2 пробела. (Например, 4236 печатает 4 ...

Оптимизация программы - C++
#include&lt;std_lib_facilities.h&gt; #include&lt;conio.h&gt; void moveHorse(int &amp;, int , int , int, int &amp;, int &amp;, int &amp;);//переставляет коня ...

Оптимизация программы - C++
Помогите оптимизировать программу, не могу сам. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() ...

Оптимизация программы - C++
Условие : Даны две действительные квадратные матрицы порядка n. Получить новую матрицу прибавлением к элементам каждого столбца первой...

Оптимизация программы на С++ - C++
Помогите оптимизировать программу на С++, я не представляю, что в ней можно изменить. Хотя бы намек на функцию, в которой нужна...

Оптимизация программы - C++
Ув. обыватели, Вчера написал &quot;Калькулятор&quot;, но так как я ещё зеленый в программировании на С++, прошу вас показать как и где можно...

Оптимизация кода программы - C++
Задача В качестве самостоятельного задания исследуйте предельные значения N! (1*2*3*..*n) для двух указанных типов (long int и unsigned...

Оптимизация программы по памяти - C++
Здравствуйте, дорогие коллеги! Прошу вашей помощи. Кто чем поможет. Есть минимальная программа рекомендательной системы( код ниже...

Оптимизация/Другой вариант программы - C++
Имею вот такой код программы(работа с бинарной строкой) однако на моменте проверки что это строка бинарная возникли проблемы (не понимаю...

Оптимизация программы для работы со списками - C++
Здравствуйте! Написал код, который мне скоро сдавать по предмету. Хотелось бы узнать как его оптимизировать или упростить что-бы не стыдно...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hommius
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 12
21.04.2013, 14:05     Оптимизация простой программы #2
как вариант способа найти сумму:
C++
1
2
int x = lcm(a,b);
for(int i = x; i<n; i+=x) tmp+=i;
lcm - функция нахождения наименьшего общего кратного
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
21.04.2013, 14:05     Оптимизация простой программы #3
найди наименьшее общее кратное чисел a и b.
И пройдись по циклу от одного до n с шагом HOK(a, b).
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
21.04.2013, 14:06     Оптимизация простой программы #4
не знаю, оптимизация это или нет, но зачем за такой простой программой тащить весь std неймспейс?
C++
1
2
std::cout...
std::cin
или
C++
1
2
using std::cout;
usint std::cin;
в цикле i тоже можно сделать unsigned
но это мелочи, думаю сильно не повляют))
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.04.2013, 16:24     Оптимизация простой программы #5
Олимпиадная задача - сумма чисел меньших N, которые делятся на A или на B
Yandex
Объявления
21.04.2013, 16:24     Оптимизация простой программы
Ответ Создать тему
Опции темы

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