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

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

Войти
Регистрация
Восстановить пароль
 
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 324
#1

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

03.04.2014, 22:15. Просмотров 217. Ответов 4
Метки нет (Все метки)

Вопрос. Может ли с++ запомнит циклы?
Пример. Чтоб вычислит наиболее большой общий делитель надо разложить оба числа на простые множители и подчеркнуть те из этих множителей, которые являются общими для обоих разложений, например:
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++
Жду помощи... хочу, чтобы 2 потока запоминали итераторы, чтобы потом можно было свапнуть разыменованные иттераторы...но проблема с...

Запоминание последовательности чисел компьютером - C++
Нужно написать программу на C++ ,типа приложение на запоминание последовательности чисел компьютером,это все нужно сделать по уровням...

Запоминание местоположения курсора путем нажатия кнопок - C++
Доброго времени суток. Задача такова: Если кнопку F1 нажали - координаты где находится мышка запоминает и записывает в Edit1 и Edit2. ...

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin >> i >> n; for (i; i<n; i++) { a = true; for (j = 2; j <= i / 2; j++) if ((i%j) == 0) a =...

циклы - C++
помогите вывести таблицу 4 3 2 1 0 3 2 1 0 2 1 0 1 0 0

Циклы - C++
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов цикла с параметром, цикла с предусловием,...

циклы - C++
вывести на экран все целые числа из диапазона от А до Б, кратные трем (А<=B)

Циклы - C++
Дан номер телевизионного канала(от 1 до 5). Вывести на экран наиболее популярные программы заданного канала.

i++ vs ++i (циклы) - C++
Собстно стало интересно почему все пишут for(ptrdiff i = 0; i < 10; i++) { } постфиксный инкремент медленнее, а в данном...

Циклы - C++
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,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
Сообщений: 324
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
Сообщений: 324
03.04.2014, 23:24  [ТС]     Циклы и их запоминание #5
А, все понятно. Алгоритм Евклида.

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

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