Форум программистов, компьютерный форум, киберфорум
Наши страницы

Даны целые числа р и q. Получить все делители числа q, взаимно простые с р - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Даны натуральные числа п, р, целые числа A1 ..., An,. http://www.cyberforum.ru/cpp-beginners/thread444399.html
Получить произведение членов последовательности A1, ..., An, кратных р
C++ чтение из файла нужно скопировать файл как с начало до конца, так и с конца в начало (то есть в обратном порядке). с первой частью никаких проблем не возникает, а вот как прочесть файл в обратном порядке..?попытался... http://www.cyberforum.ru/cpp-beginners/thread444391.html
C++ Как перевести строку в читабельный вид?
Собственно из названия темы. Есть строка символов (к примеру такая: 0430002004370430043904340438) Как перевести ее в читабельный вид, т.е в текст. Уже всю голову сломал %-) Подскажите что...
Перегрузка конструктора копирования и оператора присвоения C++
Всем привет, сразу к делу. После прочтения 11 главы Лафоре столкнулся с такой бедой как понятие перегрузка оператора присвоения. Дело в том что Лафоре говорит что именно оператор присвоения является...
C++ Дальнейшее изучение С++ http://www.cyberforum.ru/cpp-beginners/thread444347.html
Вот хотел у вас спросить, что дальше можно почитать после Бьярне Страуструп Программирование: принципы и практика использования C++, и после Р.Лафоре ООП в С++, планирую купить по WinApi и что то еще...
C++ полноэкранный режим консоли Здравствуйте! Не могли бы подсказать, как программно переходить в полноэкранный режим в консоле? (Именно переходить, а не получать информацию, является ли режим полноэранным) Добавлено через... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.02.2012, 11:28
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
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <vector>
 
int gcd(int a, int b)
{
    a = a > 0 ? a : -a;
    b = b > 0 ? b : -b;
    
    while (a != 0 && b != 0)
    {
        if (a < b)
            b %= a;
        else
            a %= b;
    }
    
    return a + b;
}
 
bool is_coprime(int a, int b)
{
    return gcd(a, b) == 1;
}
 
std::vector<int> coprime_dividers(int p, int q)
{
    std::vector<int> result;
    
    for (int d = 1; d <= q / 2; ++d)
        if (q % d == 0)
            if (is_coprime(p, d))
                result.push_back(d);
    
    return result;
}
 
int main()
{
    int p, q;
    
    std::cin >> p >> q;
    
    std::vector<int> vec = coprime_dividers(p, q);
    
    for (size_t i = 0; i < vec.size(); ++i)
        std::cout << vec[i] << "  ";
    
    std::cout << std::endl;
    
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru