Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 09.10.2018
Сообщений: 22
1

Нужно оптимизировать код

25.10.2018, 12:50. Просмотров 868. Ответов 4
Метки нет (Все метки)

Нужно максимально сократить код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main(int argc, char** argv) {
int a, i, d=1;
cout<< "Enter the positive number: ";
cin>>a;
 
for (i=1; i<a; i++)
{
    if (a%i==0)
d=i;
}
cout<<"Result: "<<d;
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2018, 12:50
Ответы с готовыми решениями:

Нужно оптимизировать код
Вобщем код не принемает сайт, немного нагружает и по времени не проходит задание Август и...

Нужно оптимизировать готовый код, чтобы не было стыдно показать
Мне дали сделать задачку, чтобы проверить мои знания в ООП (я только 2 месяца назад начал изучать...

Нужно оптимизировать
Есть задание, есть готовый код. Но он не проходит скоростной режим, нужно оптимизировать, помогите...

Змейка. Нужно оптимизировать
Написал игру &quot;Змейка&quot;,вернее скоро напишу. Вся проблема в том,что я не могу ее нормально...

4
907 / 586 / 290
Регистрация: 22.02.2018
Сообщений: 1,736
Записей в блоге: 2
25.10.2018, 13:37 2
Лучший ответ Сообщение было отмечено dimasi4OK как решение

Решение

Вопрос - что этот код делает? Отыскивает максимальный делитель целого положительного числа, не равный исходному числу?
Если так, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main(int argc, char** argv) 
{
int a;
    cout<< "Enter the integer positive number: ";
     cin>>a;
 
for (int i=a-1; i>0; i--)
{
    if (a%i==0)
    {
    cout<<"Result: "<<i;
    break;
   }
}
 
    return 0;
}
1
Эксперт C
24868 / 15396 / 3257
Регистрация: 24.12.2010
Сообщений: 33,173
25.10.2018, 13:47 3
Я бы пошел другим путем.
C++
1
2
3
4
5
6
7
d = 1;
for(i=2; i*i <= a; i++) {
  if (a%i==0) {
     d = a/i;
     break;
  }
}
Можно еще сразу исключить делимость на 2, 3, 5 и в каждой тридцатке рассматривать только 8 чисел. Но это, имхо, уже крохоборство.
2
907 / 586 / 290
Регистрация: 22.02.2018
Сообщений: 1,736
Записей в блоге: 2
25.10.2018, 14:07 4
Байт, Отлично
0
Эксперт C
24868 / 15396 / 3257
Регистрация: 24.12.2010
Сообщений: 33,173
25.10.2018, 15:09 5
Цитата Сообщение от Байт Посмотреть сообщение
уже крохоборство.
Однако, не всегда. Такой прием позволяет упаковать решето Эратосфена по 30 чисел в 1 байт

Добавлено через 3 минуты
Тут нам здорово поперло. Что в тридцатке последовательных чисел ровно 8 вызывают подозрение на простоту. А в байте (вот удача!) ровно 8 бит.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2018, 15:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Нужно оптимизировать функцию
Немножко не шарю но она должна сортировать пузырьком: #include &lt;iostream&gt; #include &lt;time.h&gt;...

Оптимизировать код
Доброго времени суток, как можно оптимизировать код что бы он быстрее работал ? Дана...

Оптимизировать код
Первое число входного потока - количество чисел Дальше идут те самые числа Надо найти кол-во пар...

Как оптимизировать код
Доброй ночи господа у меня к вам такая просьба как можно упростить данный код? #include &lt;iostream&gt;...


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

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

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