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

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

Войти
Регистрация
Восстановить пароль
 
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
#1

Найти наибольший общий делитель двух чисел - C++

03.07.2014, 22:38. Просмотров 604. Ответов 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()
{
    setlocale(LC_ALL, "Russian");
    int a,b,c;
    cout << "Введите a:";
    cin >> a;
    cout << "Введите b:";
    cin >> b;
  while (b) 
    {
      c = a % b;
      a = b;
      b = c;
   }
cout << a;
}
Не понятна функция:
C++
1
2
3
4
5
6
while (b) 
    {
      c = a % b;
      a = b;
      b = c;
   }
Что означает while(b)? Пока есть b? И дальше тоже...
Допустим, я беру a=105, а b=70, тогда c присваивается значение 35, a присваивается значение 70, а b присваивается значение 35, а в итоге выводится a, которая почему-то равная 35. Пожалуйста, объясните, как это работает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 22:38     Найти наибольший общий делитель двух чисел
Посмотрите здесь:

Найти наибольший общий делитель двух чисел - C++
Задача &quot;Длинный НОД&quot; Даны два числа. Найти их наибольший общий делитель. Входные данные Вводятся два натуральных числа, не превышающих 10^9...

Найти наибольший общий делитель двух чисел - C++
Для заданных натуральных целых чисел n и m найти наибольший общий делитель (НОД), используя следующее соотношение НОД(n, m) = НОД (n, r),...

Найти наибольший общий делитель двух чисел Фибоначчи - C++
Добрый вечер, решаю задачу, ошибка на шестом тесте. Условии задачи: Последовательностью Фибоначчи называется последовательность чисел...

Требуется найти наибольший общий делитель двух чисел Фибоначчи. - C++
ЗАДАЧА №384 Числа Фибоначчи - 3 (Время: 1 сек. Память: 16 Мб Сложность: 52%) Последовательностью Фибоначчи называется...

Найти наибольший общий делитель и наименьшее общее кратное двух чисел - C++
Даны два натуральных числа m и n. Найти их наибольший общий делитель и наименьшее общее кратное. Определить в программе собственную функцию...

Наибольший общий делитель двух натуральных чисел - C++
1) Найти наибольший общий делитель двух заданных натуральных чисел. 2)Правила :( не знаю как делать.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5267 / 4587 / 1538
Регистрация: 14.04.2014
Сообщений: 18,223
03.07.2014, 22:41     Найти наибольший общий делитель двух чисел #2
Пока (b != 0).
Raily
3 / 3 / 1
Регистрация: 31.01.2014
Сообщений: 34
03.07.2014, 22:48     Найти наибольший общий делитель двух чисел #3
Смотри:
while это цикл, означает ПОКА(пока b неравно(!=) 0) то есть пока b = true;
всё что ты расписал - это правильно, но цикл работает не один раз. После того как всё это выполнится, цикл продолжить работу и переменные будут менять значения;

Программа работает вот так...
a = 105
b = 70
c = 35
потом...
a = 70
b = 35
c = 35
потом...
a = 35
b = 0
c = 0
Вот и всё.
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
03.07.2014, 22:58  [ТС]     Найти наибольший общий делитель двух чисел #4
Raily, спасибо, теперь понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 23:06     Найти наибольший общий делитель двух чисел
Еще ссылки по теме:

Наибольший общий делитель для двух чисел - C++
Всем привет! Тут такая задачка, не могу понять как делать( Помогите, пожалуйста. Определить наибольший общий делитель для двух...

Наибольший общий делитель двух целых чисел - C++
Написать программу, которая вычисляет наибольший общий делитель двух целых чисел. Пример: Вводите после стрелки числа. -&gt; 45...

Наибольший общий делитель для двух 80-значных чисел - C++
Помогите, пожалуйста, написать программу для нахождения НОД для двух 80-значных чисел. Я так понимаю, что это нужно реализовать через...

Наибольший общий делитель двух заданных с клавиатуры целых чисел - C++
Напишите программу, которая вычисляет наибольший общий делитель двух заданных с клавиатуры целых чисел A и B, и вы-водит его на экран. я...


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

Или воспользуйтесь поиском по форуму:
Raily
3 / 3 / 1
Регистрация: 31.01.2014
Сообщений: 34
03.07.2014, 23:06     Найти наибольший общий делитель двух чисел #5
ну хоть спасибо нажми 8)
Yandex
Объявления
03.07.2014, 23:06     Найти наибольший общий делитель двух чисел
Ответ Создать тему
Опции темы

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