Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
24 / 19 / 8
Регистрация: 21.04.2019
Сообщений: 494

Объяснить код + улучшить

08.11.2021, 20:05. Показов 889. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код для нахождения делителей заданного числа. Объясните, почему i*i вместо i? (Знаю, что это увеличивает скорость, но как это работает). И вот этот фрагмент объяснить
C++
1
2
            if (i*i != start)
               cout << strt/i<<' ';
Сам код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    setlocale(LC_ALL, "Rus");
    cout << "Введите любое натуральное число:\n";
    int start;
    cin >> start;
    for (int i = 2; i*i <= start; i++) {
         if (start % i == 0) {
            cout << i<<' ';
            if (i*i != start)
               cout << strt/i<<' ';
         }
    }
    cout<<start<<endl;
    return 0;
}
+Нужна более оптимальная программа, которая быстрее по времени находит делители числа.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2021, 20:05
Ответы с готовыми решениями:

Улучшить код
Как можно оптимизировать код, убрать лишние проверки. int hasCycle(ListNode* head) { ListNode*first=head,*second=head; ...

Как улучшить код
Я не очень то знаю си++ и наш учитель дал нам проект.Я тут начал и можете подсказать как улучшить? #include &lt;iostream&gt; ...

Нужно улучшить код
Нужно улучшить код. 1)Отсортировать таблицу(если ввести Hello World,то буква &quot;l&quot; должна быть на 1 месте так как она встречается 3...

3
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
08.11.2021, 20:11
Лучший ответ Сообщение было отмечено Олег1000 как решение

Решение

Цитата Сообщение от Олег1000 Посмотреть сообщение
почему i*i вместо i?
Потому что больше не надо
Цитата Сообщение от Олег1000 Посмотреть сообщение
И вот этот фрагмент объяснить
Чтобы 2 раза не выводился делитель полного квадрата
Цитата Сообщение от Олег1000 Посмотреть сообщение
+Нужна более оптимальная программа
Старт дели каждый раз на найденный делитель в цикле. Ну и бантики - вычлени сначала все двойки а потом беги с тройки через +=2, по нечетным.
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
08.11.2021, 21:33
Что такое
Цитата Сообщение от Олег1000 Посмотреть сообщение
strt
в строчке 11 ?
0
24 / 19 / 8
Регистрация: 21.04.2019
Сообщений: 494
09.11.2021, 04:59  [ТС]
Опечатка. Это переменная start.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2021, 04:59
Помогаю со студенческими работами здесь

Как улучшить код?!
Написал код к заданию: Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести...

Перегрузка функций - улучшить код
Решил сделать перегрузку функций, что то не могу сделать лучше подскажите как можно сделать лучше или помогите здесь, вернуть...

Улучшить код и найти ошибки
Это задание Разработать программу, реализуя каждое действие отдельной функцией. Для перехода между режимами работы в программе...

Помогите улучшить простой код
Задача: Из-за высокой цены бензина водители озабочены затратами топлива своих аытомобилей. Один водитель взял в рейс несколько емкостей...

Улучшить код (одномерный массив)
Программа должна записывать положительные элементы массива X в массив Y. Затем нужно вывести массив Y. Программа работает, но...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru