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

не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p - C++

Восстановить пароль Регистрация
 
AAnnaa
Сообщений: n/a
24.10.2012, 21:35     не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p #1
Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 21:35     не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p
Посмотрите здесь:

Даны натуральные числа p и q. Получить все делители числа q, взаимно простые к p. C++
C++ Даны целые числа р и q. Получить все делители числа q, взаимно простые с р
Даны целые числа р и q. Получить все делители числа q, взаимно простые с р. C++
C++ Даны натуральные числа a,b(a<= Ь). Получить все простые числа р, удовлетворяющие неравенствам a<= р<= b.
C++ Получить все натуральные числа, меньше n и взаимно простые с ним
C++ Получить все делители числа q, взаимно простые к p
Даны натуральные числа p и q. Получить все делители числа q, взаимно простые к p C++
C++ Получить все делители числа q, взаимно простые с р

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.10.2012, 21:47     не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p #2
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
#include<stdio.h>
 
long Nod(long a, long b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a + b;
}
 
int main()
{
   long p = 123, q = 10000, i, buf;
   printf("1\n");
   for(i = 2; i*i < q; i++)
   {
      if (q%i == 0)
      {
         if (Nod(i, p) == 1)
            printf("%d\n", i);
         buf = q/i;
         if (Nod(buf, p) == 1)
            printf("%d\n", buf);
      }
   }
   if (i*i == 0 && Nod(i, p) == 1)
      printf("%d\n", i);
   return 0;
}
Yandex
Объявления
24.10.2012, 21:47     не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p
Ответ Создать тему
Опции темы

Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru