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

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
andreskrip
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
#1

Надо получить все делители числа q, взаимно простые с p - C#

01.03.2014, 18:32. Просмотров 722. Ответов 8
Метки нет (Все метки)

Условие задачи такое: Даны целые числа p и q. Получить все делители числа q, взаимно простые с p.
Есть код на получение делителей числа q:
C#
1
2
3
4
5
6
        Console.Write("Введите число q: ");
        var n = int.Parse(Console.ReadLine());
        Console.Write("Делители: ");
        for (var d = 2; d <= n / 2; ++d) if (n % d == 0) Console.Write(" {0}", d);
        Console.WriteLine();
        Console.ReadKey();
Но я не знаю как полученные делители связать с числом p и вывести взаимно простые с ним делители. Помогите кто чем может
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 18:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Надо получить все делители числа q, взаимно простые с p (C#):

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

Получить все натуральные числа, меньшие n и взаимно простые с ним - C#
Собственно говоря не могу написать код вот для этой задачи: &quot;Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно...

.NET 4.x Требуется вывести все простые делители введенного числа - C#
Вводится число. Требуется вывести все простые делители введенного числа.

Найдите все простые делители целого числа в заданном диапазоне - C#
Найдите все простые делители целого числа в заданном диапазоне.

Взаимно простые числа - C#
Нужно составить программу, проверяющую, являются ли три числа взаимно простыми.

Взаимно простые числа - C#
Написать код который создаёт логический массив a размером NxN такой, что а = true, ecли i и j взаимно просты (не имеют общего делителя), и...

8
Kruds
691 / 691 / 106
Регистрация: 04.03.2013
Сообщений: 1,384
Завершенные тесты: 1
01.03.2014, 18:54 #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
static void Main(string[] args)
{
    foreach (int divider in Dividers(100, 14))
        Console.WriteLine(divider);
}
 
public static int NOD(int a, int b) //http://www.cyberforum.ru/post1516961.html
{
    if (a == b)
        return a;
    else
        if (a > b)
            return NOD(a - b, b);
        else
            return NOD(b - a, a);
}
 
public static IEnumerable<int> Dividers(int p, int q)
{
    for (int i = 2; i < p / 2; i++)
    {
        if (p % i == 0 && NOD(i, q) == 1)
            yield return i;
    }
}
1
andreskrip
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
03.03.2014, 12:19  [ТС] #3
не работает код(
0
Kruds
691 / 691 / 106
Регистрация: 04.03.2013
Сообщений: 1,384
Завершенные тесты: 1
03.03.2014, 12:57 #4
Вот вам полный код программы.
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
 
class Program
{
    static void Main(string[] args)
    {
        foreach (int divider in Dividers(100, 14))
            Console.WriteLine(divider);
    }
 
    public static int NOD(int a, int b) //http://www.cyberforum.ru/post1516961.html
    {
        if (a == b)
            return a;
        else
            if (a > b)
                return NOD(a - b, b);
            else
                return NOD(b - a, a);
    }
 
    public static IEnumerable<int> Dividers(int p, int q)
    {
        for (int i = 2; i < p / 2; i++)
        {
            if (p % i == 0 && NOD(i, q) == 1)
                yield return i;
        }
    }
}
1
andreskrip
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
03.03.2014, 20:20  [ТС] #5
Все так же ничего не происходит, ошибок нет, но и на выходе ничего нет
0
Миниатюры
Надо получить все делители числа q, взаимно простые с p  
Lexeq
536 / 447 / 198
Регистрация: 21.01.2014
Сообщений: 1,227
Завершенные тесты: 2
04.03.2014, 03:12 #6
Вроде так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static int NOD(int a, int b)
{
    while (b != 0)
    b = a % (a = b);
    return a;
}
        
public static void Main(string[] args)
{
    Console.Write("Введите число q: ");
            int q = int.Parse(Console.ReadLine());
            Console.Write("Введите число p: ");
            int p = int.Parse(Console.ReadLine());
            for (int i = 2; i <= q / 2; i++)
            {
        if (q % i == 0 && NOD (i, p) == 1)
                    Console.Write(i + " ");
            }
    Console.ReadKey(true);
1
Kruds
691 / 691 / 106
Регистрация: 04.03.2013
Сообщений: 1,384
Завершенные тесты: 1
04.03.2014, 08:21 #7
Ctrl+F5
1
andreskrip
0 / 0 / 0
Регистрация: 01.03.2014
Сообщений: 5
04.03.2014, 15:32  [ТС] #8
Спасибо огромное, просто спас меня.
0
tezaurismosis
04.03.2014, 19:26     Надо получить все делители числа q, взаимно простые с p
  #9

Не по теме:

Цитата Сообщение от Kruds Посмотреть сообщение
Ctrl+F5
Это сочетание клавиш нужно вырезать в камне. Или чтобы преподы об этом каждое занятие говорили.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 19:26
Привет! Вот еще темы с ответами:

Найти взаимно простые числа - C#
Нужно сгенерировать число простое и в то же время взаимно простое с fi private void button1_Click(object sender, EventArgs e) {...

Получить все простые числа p, удовлетворяющие неравенствам - C#
Даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам a&lt;p&lt;b.

Дано натуральное число n. Получить все его натуральные делители - C#
Здравствуйте. Помогите с заданием. Дано натуральное число n. Получить все его натуральные делители.

Как вывести все делители числа - C#
Вписываем число, должны быть выведены все его делители. Я написал: Console.Write(&quot;Введи число &quot;); int i =...


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

Или воспользуйтесь поиском по форуму:
9
04.03.2014, 19:26
Ответ Создать тему
Опции темы

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