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

Циклы и их запоминание - C++

Восстановить пароль Регистрация
 
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
03.04.2014, 22:15     Циклы и их запоминание #1
Вопрос. Может ли с++ запомнит циклы?
Пример. Чтоб вычислит наиболее большой общий делитель надо разложить оба числа на простые множители и подчеркнуть те из этих множителей, которые являются общими для обоих разложений, например:
105 = 3 ∙ 57;
140 = 2 ∙ 2 ∙ 57.

НОД(105,140) = 5 * 7 = 35.

Чтоб это делать в С++ надо чтоб программа повторялся несколько раз пока не найдет все простые умножители. И тут возникает проблема. По крайней мере для меня. Для этой операции надо чтоб с++ помнил колько раз повторил операцию чтоб продолжит с того же место. А то каждый раз найдет один и тот же умножител и остановится.

Так можно ли реализовать это в с++?

Добавлено через 8 минут
К примеру дал циклу команду остановится когда найдет первый умножитель. Как делать чтоб в след раз программа пропустил этот шаг или просто продолжал оттуда где остановился запоминая нужную цифру?
Мой больной учитель дал задание собрат программу чтоб вычислил НОД. А я только только начинаю изучать с++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 22:15     Циклы и их запоминание
Посмотрите здесь:

C++ Циклы
Циклы в С++ C++
C++ Циклы
C++ Циклы в Cи
Циклы C++
C++ Потоки и запоминание итераторов
На циклы do while C++
C++ Запоминание последовательности чисел компьютером
циклы C++
C++ Запоминание местоположения курсора путем нажатия кнопок
Заменить в коде циклы for на циклы while C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
03.04.2014, 22:23     Циклы и их запоминание #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    int numb1 = 105;
    int numb2 = 140;
    int a = numb1,b=numb2;
    while(b)
    {
        a = a%b;
        int temp = a;
        a = b;
        b = temp;
    }
    cout<<"NOD = "<<a<<endl;
    return 0;
}
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
03.04.2014, 22:47  [ТС]     Циклы и их запоминание #3
Хмм значит темп

Добавлено через 7 минут
Каким образом? Там же простое деление с остатком. Остаток от деление 396 на 168 60 а не 12.

Добавлено через 8 минут
Черт это слишком просто чтоб я мог понять. Элементарную физику я понимал как не в чем не бывало. А это жуть какая то.

Я понял что там заменили места а и б потом опят делили. Но как это работает?
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
03.04.2014, 22:56     Циклы и их запоминание #4
Делим пока b не будет равно 0. В данном примере делим 105 на 140 получаем 105. Затем меняем их местами и теперь а = 140, б = 105. Теперь делим 140 на 105 и получаем остаток который = 35. Опять меняем местами переменные и теперь а = 105 б = 35, делим 105 на 35 и получаем 0 и опять меняем переменные местами. Так как б стало = 0 цикл вайл заканчивается и НОД = а.
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
03.04.2014, 23:24  [ТС]     Циклы и их запоминание #5
А, все понятно. Алгоритм Евклида.

Я просто не могу понят то что на виду. Даже в школе проще было объяснит сложные теоремы чем выучит какой та стишок. Мне надо перелапатит чтоб понят .
Yandex
Объявления
03.04.2014, 23:24     Циклы и их запоминание
Ответ Создать тему
Опции темы

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