Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на объект.объясните https://www.cyberforum.ru/ cpp-beginners/ thread631402.html
base - это базовый класс...first - это производный от base...iam() виртуальная функция, перегруженная в first... Вопрос: почему вызывается функция базового класса, а не first?.. #include <iostream>...
C++ GetModuleFileNameEx ошибка
#include <iostream> #include <windows.h> #include <time.h> #include "main.h" #pragma comment(lib,"Psapi") using namespace std; //global ULONG crc_tab;
C++ Отсортировать по возрастанию элементы массива
1)Дан массив целых чисел из 10 элементов отсортировать по возрастанию. 2)Дан действительный массив A.Напечатать индекс его отрицательных элементов. помогите пожалуйста написать программу на С++
C++ Перевод программы с Pascal на С++ uses crt; var i :integer; BEGIN ClrScr; Write('Результат: '); for i := 20 to 50 do if (i mod 3 = 0) and (i mod 5 <> 0) then Write(i, ' '); Readln; END. https://www.cyberforum.ru/ cpp-beginners/ thread631389.html
C++ Квадратные уровнения https://www.cyberforum.ru/ cpp-beginners/ thread631379.html
помогите написать код. программа должна: решить квадратное уравнение по трем коэффициентам. даны a, b и c напишите как можно это реализовать.
Рекурсия: нахождение биномиальных коэффициентов C++
В общем нужно вывести биноминальные коэффициенты последовательности.... т.е есть последовательность - скажем вектор 12345 n = size = 5 k - пусть равен 2 тогда результатом должны быть все...
C++ Программы pascal переписать под c++
Доброго времени суток. вот последняя программа которую нужно сделать под c++ Я знаю парни я вам надоел уже :) Больше не буду вас мучать) Задание: В одномерном массиве, состоящем из n...
C++ Подскажите, как сделать сдвиг массива вправо для вставки нового элемента? // После каждого четного числа добавить число 0. const int n=10; int ar,k=n,t; for(int i=0;i<n;i++){ ar=rand()%10+1; cout<<ar<<"\t"; } cout<<endl<<endl; https://www.cyberforum.ru/ cpp-beginners/ thread631356.html
C++ Проверка на корректность операции https://www.cyberforum.ru/ cpp-beginners/ thread631337.html
Добрый день. Не знаю как лучше задать вопрос. Смысл идеи таков: Есть интерфейс типа данных (IVariable) и наследники от него, например: Number, Complex, Matrix. Необходимо реализовать функцию...
C++ Матрицы. Бесконечный цикл. Проверка ввода В конструкторе класса матриц пользователю предлагается выбрать ввода с клавиатуры или автоматически. При выборе ручного ввода возникает цикл непонятного характера. Вот фото консоли во вложении. ... https://www.cyberforum.ru/ cpp-beginners/ thread631324.html
~ Эврика! ~
1253 / 1002 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
31.07.2012, 23:47 0

НОЧД и НОНД(задача)

31.07.2012, 23:47. Просмотров 5059. Ответов 5
Метки (Все метки)

Ответ

Смотрите. GE/OCD = greatest even/odd common divisor.

GECD(n, k) = 2 * GCD(n/2, k/2), если n и k чётные
GECD(n, k) = 0 иначе

GOCD(n, k) = GOCD(n, k), если n и k чётные
GOCD(n, k) = GCD(n, k) иначе

Итого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
int GCD(int a, int b)
{
    if (a < b) {
        swap(a, b);
    }
    while ((b != 0) && (b != 1)) {
        a %= b;
        swap(a, b);
    }
    return (b == 0) ? a : 1;
}
 
int GECD(int a, int b)
{
    if ((a % 2 == 0) && (b % 2 == 0)) {
        return 2 * GCD(a / 2, b / 2);
    }
    else {
        return 0;
    }
}
 
int GOCD(int a, int b)
{
    while ((a % 2 == 0) && (b % 2 == 0)) {
        a /= 2;
        b /= 2;
    }
    return GCD(a, b);
}
 
int main()
{
    int a, b;
    cin >> a >> b;
    cout << GECD(a, b) << " " << GOCD(a, b);
    return 0;
}
Всё так же тормозит?

Вернуться к обсуждению:
НОЧД и НОНД(задача)
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2012, 23:47
Готовые ответы и решения:

НОЧД и НОНД
Для двух данных натуральных чисел найдите их наибольший четный и наибольший нечетный делители. ...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько...

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача)
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных...

Васильев C# Глава 8 задача 2 (Просьба объяснить формулировку(задача внутри)
Текст задачи Написать программу , в которой есть класс с полем, являющимся ссылкой на одномерный...

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