Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/65: Рейтинг темы: голосов - 65, средняя оценка - 4.58
1 / 1 / 0
Регистрация: 16.11.2009
Сообщений: 15

Даны целые числа p и q. Получить все делители числа q, взаимно простые с p, т.е. не имеющие с p общих делителей.

27.12.2009, 17:17. Показов 12948. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны целые числа p и q. Получить все делители числа q, взаимно простые с p, т.е. не имеющие с p общих делителей.

Есть в C++ она у вас на форуме, не могли бы вы в Паскаль сделать с использованием двумерного массива: Взаимно простые делители
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2009, 17:17
Ответы с готовыми решениями:

Получить все простые делители этого числа.
1)Дано натуральное число n. Получить все простые делители этого числа. 2)Дана непустая последовательность слов из сторочных русских букв;...

Даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам: a<=p<=b
Даны натуральные числа a,b(a&lt;b). Получить все простые числа p, удовлетворяющие неравенствам: a&lt;=p&lt;=b.

Получить все натуральные числа, меньшие n и взаимно простые с ним
Составьте программу для решения одной из следующих задач: Дано натуральное число n. Получить все натуральные числа, меньшие n и...

3
10 / 10 / 4
Регистрация: 18.11.2009
Сообщений: 47
27.12.2009, 17:27
Цитата Сообщение от phenomiks Посмотреть сообщение
Даны целые числа p и q. Получить все делители числа q, взаимно простые с p, т.е. не имеющие с p общих делителей.
Общих делителей, отличных от 1, Вы хотели сказать?
Зачем 2мерный, можно 2 одномерных, делаем факторизацию обеих чисел (получим 2 одномерных массива с простыми делителями), потом выбрасываем со второго массива все числа, которые есть в первом (если n и t - 2 из простых делителей q, то n*t будет иметь общий делитель t с числом p, если t - простой делитель числа p).
Далее битовыми масками вхождения строим все произведения. Можно или выбросить повторения потом, или с самого начала прописать степени.
Можно даже с 1 массивом, сначала розложить второе число, а потом, пока будем факторизировать первое, ничего не запоминать, а на ходу выбрасывать лишние числа с массива.
Такое решение подходит? Или обезательно 2мерный?
З.Ы. А если маленькие числа и задача не для практического применения (например, задание в школе/универе), то можно и глупое решение - перебор.
0
1 / 1 / 0
Регистрация: 16.11.2009
Сообщений: 15
27.12.2009, 17:33  [ТС]
Цитата Сообщение от LeBron23 Посмотреть сообщение
Общих делителей, отличных от 1, Вы хотели сказать?
Зачем 2мерный, можно 2 одномерных, делаем факторизацию обеих чисел (получим 2 одномерных массива с простыми делителями), потом выбрасываем со второго массива все числа, которые есть в первом (если n и t - 2 из простых делителей q, то n*t будет иметь общий делитель t с числом p, если t - простой делитель числа p).
Далее битовыми масками вхождения строим все произведения. Можно или выбросить повторения потом, или с самого начала прописать степени.
Можно даже с 1 массивом, сначала розложить второе число, а потом, пока будем факторизировать первое, ничего не запоминать, а на ходу выбрасывать лишние числа с массива.
Такое решение подходит? Или обезательно 2мерный?
З.Ы. А если маленькие числа и задача не для практического применения (например, задание в школе/универе), то можно и глупое решение - перебор.
Некоторые фразы не понял, но думаю подходит. Но можно и "по глупому", если не сложно, напиши плиз
0
10 / 10 / 4
Регистрация: 18.11.2009
Сообщений: 47
27.12.2009, 17:42
Цитата Сообщение от phenomiks Посмотреть сообщение
Некоторые фразы не понял, но думаю подходит. Но можно и "по глупому", если не сложно, напиши плиз
Что тут сказать Подняли мне настроение.
Пока думайте дальше, когда все поймете - возьмемся за настоящее решение, а пока "глупое" ловите.
Pascal Скопировано
1
2
3
4
5
6
7
8
9
10
var a,i,b,t,q:longint;
begin
readln(a,b);
for i:=1 to b do begin
if b mod i=0 then begin
t:=i;q:=a;
while (t>0)and (q>0) do if t>q then t:=t mod q else q:=q mod t;
if t+q=1 then writeln(i);
end;end;
end.
Это глупое. Хотя за секунду работает для чисел в пределах нескольких миллионов, но глупое.
Да, забыл сказать, на буквы не обращайте внимания. Назвал переменные так, как мне удобно кодить.
На входе 2 наших числа, на выходе - все ответы, по одному в строке. Если надо - можно их в массиве хранить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.12.2009, 17:42
Помогаю со студенческими работами здесь

Вывести на экран в столбец все делители данного числа и количество делителей для каждого числа
Ввести последовательно n произвольных целых чисел, вывести на экран в столбец все делители данного числа и количество делителей для...

Даны целые положительные числа A и B (A < B). Вывести все целые числа от A до B включительно
Даны целые положительные числа A и B (A &lt; B). Вывести все целые числа от A до B включительно; при этом каждое число должно выводиться...

Даны четырехзначные целые числа. Найти все числа, где все четыре цифры, составляющие число, одинаковы
Всем доброго времени суток.Пожалуйста ,напишите в паскале следующие задачи: №2 Даны четырехзначные целые числа от 1000 до 9999.Найти...

Даны числа а и b, вывести все целые числа между ними
Нужно решить через любой цикл(while,repeat,until): Даны числа а и b вывести все целые числа между этими а и b в порядке убывания а так...

Вывести все простые делители числа.
Дали задачу не знаю как решать.Дано число n.Вывести все его простые делители.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что прямое соотношение. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер