Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
2 / 2 / 4
Регистрация: 26.05.2013
Сообщений: 126
1

Найти взаимно простые числа

17.03.2016, 18:25. Показов 3262. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно сгенерировать число простое и в то же время взаимно простое с fi
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
private void button1_Click(object sender, EventArgs e)
        {
            int publicKey;//публичный ключ
         int privateKey;//приватный ключ
         int n;
 
            int p = 3, q = 7;
 
            n = p * q;//считаем n
            int fi = (p - 1) * (q - 1);//считаем функцию Эйлера
            Random rand = new Random();
 
            publicKey = rand.Next(1, fi - 1);
 
            while (!isPrime(publicKey) && !isPrime(publicKey, fi)) // здесь какая-то ошибка
            publicKey = rand.Next(2, fi - 1);
 
            textBox1.Text = publicKey.ToString();
        }
 
        private bool isPrime(int x)
        {
            for (int i = 2; i < x / 2 + 1; i++)
                if ((x % i) == 0)
                    return false;
            return true;
        }
 
        private bool isPrime(int x, int fi)
        {
                if ((fi % x) == 0)
                    return false;
            return true;
        }
если publicKey подать 9, то условие в while возвращает true и не заходит в него, а уже выводит результат. В чём проблема?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2016, 18:25
Ответы с готовыми решениями:

Взаимно простые числа
Написать код который создаёт логический массив a размером NxN такой, что а = true, ecли i и j...

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

Получить все делители числа, взаимно простые с р
Решите задачу: Даны целые числа n и m. Получить все делители числа m, взаимно простые с р.

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

4
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
17.03.2016, 18:50 2
Лучший ответ Сообщение было отмечено xVIKx как решение

Решение

C#
15
while (!isPrime(publicKey) || !isPrime(publicKey, fi)) // здесь была какая-то ошибка
1
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
17.03.2016, 19:00 3
xVIKx, простое число является взаимно простым со всеми остальными числами. не благодарите
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
17.03.2016, 19:17 4
rattrapper,
Ну не скажите.
7 - простое, а 7 и 14 не взаимно простые
8 - не простое и 9 не простое, а 8 и 9 - взаимно простые
0
foo();
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
19.03.2016, 17:02 5
Даценд, упс... почему то подумал, что fi тоже простые все
0
19.03.2016, 17:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2016, 17:02
Помогаю со студенческими работами здесь

Надо получить все делители числа q, взаимно простые с p
Условие задачи такое: Даны целые числа p и q. Получить все делители числа q, взаимно простые с p. ...

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

Найти все простые числа, не превосходящие заданного числа N. Проверить код
Найти все простые числа, не превосходящие заданного числа N надо сделать в C# консоль Посмотрите...

Найти все трехзначные простые числа
. Найти все трехзначные простые числа (простым называется натуральное чис- ло, большее 1, не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru