С Новым годом! Форум программистов, компьютерный форум, киберфорум
acmades
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

С++ «Неделя первая - Условный оператор и циклы - Наибольший общий делитель» #4

Запись от acmades размещена 13.07.2017 в 03:38
Показов 7713 Комментарии 2

Задание:
В stdin даны два натуральных числа. Найти их наибольший общий делитель.

Пример

stdin -> stdout
25 27 -> 1
12 16 -> 4
13 13 -> 13

Моё решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h" //это для Visual studio
#include <iostream>
using namespace std;
int main()
{
    int a, b, c;
    cin >> a >> b; //вводим цифры
    if (a > b)c = b; // чтобы меньше делать итераций в цикле ниже, сразу найдем меньшее число
    else c = a;
    while (a%c != 0 || b%c != 0) { //пока оба не делятся нацело, уменьшать делитель - так найдем наибольший
        --c;
    }
    cout << c; //выводим делитель при котором оба числа делятся нацело
    }
    return 0;
}
Вроде оптимально написал...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
  1. Старый комментарий
    C++
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    #include <iostream>
     
    using namespace std;
     
    unsigned gcd(unsigned a, unsigned b)
    {
        if (b == 0)
            return a;
        if (a > b)
            return gcd (b, a % b);
        else
            return gcd (a, b % a);
    }
     
    int main(){
        unsigned a, b;
        cin >> a >> b;
        cout << gcd(a,b);
        return 0;
    }
    Запись от flash_back размещена 29.09.2017 в 15:52 flash_back вне форума
  2. Старый комментарий
    Аватар для Avazart
    C++
    1
    2
    
        if (a > b) c = b; 
        else c = a;
    C++
    1
    
    int с = (a>b)? b : a;
    Запись от Avazart размещена 29.09.2017 в 17:04 Avazart вне форума
 
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru