if a mod i=0 then s:=s+i; s1:=0; for b:=1 to s-1 do if s mod b=0 then s1:=s1+b; if (s1=a) and (s a) and (s>a) then <если эти условия соблюдаются, то числа - дружественные. > begin inc (k); writeln(a:10,s:10); if s <если трехзначные числа кончились, то обнуляем количество дружественных чисел> begin inc(kol_3zn); k:=0 end; end ;
end ;
writeln(‘Количество пар трехзначных дружественных чисел = ‘, kol_3zn); kol_4zn:=k ; writeln(‘Количество пар четырехзначных дружественных чисел = ‘, kol_4zn); p:= kol_4zn > kol_3zn ; writeln(p); end.
Источник
В заданном диапазоне найти все пары натуральных дружественных чисел, удовлетворяющих условию Два натуральных числа называются дружественными, если каждое из них равно сумме всех натуральных делителей другого (само число при этом не рассматривается в качестве собственного делителя). Необходимо найти все пары натуральных дружественных чисел (не равных друг другу), оба числа в которых меньше вводимого с клавиатуры числа N. Формат входных данных
Вводится одно целое число N (1≤N≤10000). Формат выходных данных
Требуется вывести все пары дружественных чисел, удовлетворяющие условию задачи. Пары можно выводить в любом порядке.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
В заданном массиве целых чисел найти все пары чисел, удовлетворяющих условию Дан массив целых чисел а0, . аn-1. Найти все пары (аi, аi+1), такие, что аi = 0 и аi+1 кратно 2.
Найти все пары дружественных чисел в диапазоне [n1, n2] Два натуральных числа называются дружественными, если каждое из них равно сумме простых делителей.
Найти все пары дружественных натуральных чисел из интервала от N 1 до N 2. Очень нужна помощь!) Помогите пожалуйста) в С++, visual studio учусь на первом курсе мех-мата: .
Найти все пары дружественных чисел в диапазоне от 200 до 300 Помогите пожалуйста с решением задачи в С++. Вот условие: используя оператор цикла for, решить.
ARTER616 , здравствуйте! Я решил данную задачу, но программа очень медленно считает. Вот код:
SerVal , спасибо за вашу подсказку! ARTER616 , вот нашел более оптимальное решение. Но при сдаче один тест по времени все равно завален Напечатать все пары дружественных чисел
Добавлено через 3 минуты ARTER616 , P.S. Считает очень быстро
Добавлено через 24 минуты ARTER616 , http://math4school.ru/ohota_na. hisla.html
Источник
Вывести на экран все пары дружественных чисел, которые не превышают заданного натурального числа Два натуральных числа называются дружественными если каждое из них равно сумме всех делителей другого за исключением его самого. Вывести на экран все пары дружественных чисел, которые не превышают заданного натурального числа «n».
В программе нужно использовать именно процедуру.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Напечатать все пары дружественных чисел, не превосходящих заданного натурального числа Помогите пожалуйста решить задачку, сам чета не могу вкурить:( Два натуральных числа называются.
В массиве найти все пары «дружественных» чисел, которые не больше заданного числа N Помогите решить пожалуйста задачи на массивы. 1. 2 натуральных числа называются.
Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел. (Два.
Вывести все натуральные числа, кратные 5, которые не превышают заданное число N Вывести все натуральные числа, кратные 5, но которые не превышают число N, введенное пользователем.
Вот именно, у меня получается выделить их в отдельную процедуру.
Вот этот код, к примеру:
Решение Выяснить, кратна ли заданному целому числу p сумма тех из чисел di, которые не превышают заданного числа m Даны натуральное число n и целые числа d1,d2. dn. Выяснить,верно ли,что сумма тех чисел d1.
Напечатать все пары дружественных чисел Дано натуральное число n. Напечатать все пары дружественных чисел, не превосходящих n (два.
Напечатать все пары дружественных чисел, которые не превышают заданное натуральное число Два натуральных числа называются * дружественными * если каждый из них равна сумме всех делителей.
Найти все пары натуральных дружественных чисел, меньших заданного Привет, помогите с задачкой. Два натуральных числа называются дружественными, если каждое из.
Источник
Дружественные числа помогите, пожалуйста, совсем не получается написать программу, т.к. новичок, плохо разбираюсь, а сдать нужно Дружественные числа -– это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Напишите программу, которая проверяет пару чисел на «дружественность». Используйте функцию, которая вычисляет сумму делителей числа.
Входные данные Входная строка содержит два натуральных числа.
Выходные данные Программа должна вывести слово ‘YES’, если полученные числа – дружественные, и слово ‘NO’ в противном случае.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Дружественные числа Найти совершенные числа в диапазоне от 2 до 10000. Совершенное число равно сумме своих делителей.
Процедуры. Дружественные числа Условие: Два натуральных числа называются «дружественными», если каждое из них равно сумме всех.
Дружественные числа (процедуры и функции) Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей.
Массивы. Дружественные числа, счасливые числа. и т.д. Всем привет. Я тут впервый раз. Дело обстоит так. Я уже ни знаю что и делать. Перепробовал.
Источник
Напечатать все пары дружественных чисел Помогите пожалуйста решить рационально задачу:
Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого, за исключением самого себя (таковы, например, числа 220 и 284). Напечатать все пары дружественных чисел, не превосходящих заданного натурального числа.
Мой вариант работает правильно, но очень медленно, т. к. слишком много итераций. Подскажите как решить эту задачу, чтобы программа работала быстрее.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел Напишите пожалуйста простой код на с++ вот условие Из заданного интервала натуральных чисел.
Цикл: Вывести все совершенные числа и все пары дружественных чисел из промежутка [2, n]. Число називається досконалим, якщо воно дорівнює сумі всіх своїх дільників, крім самого цього числа.
Найти все пары дружественных чисел в диапазоне [n1, n2] Два натуральных числа называются дружественными, если каждое из них равно сумме простых делителей.
Найти все пары дружественных натуральных чисел из интервала от N 1 до N 2. Очень нужна помощь!) Помогите пожалуйста) в С++, visual studio учусь на первом курсе мех-мата: .
Вы O(n^2) раз ищите делители. Это очень много. Можно по-другому. В массив A размера N сначала записываете сумму делителей, то есть A[i] = сумма делителей числа i. А потом работаете уже с этим массивом. Много быстрее будет. Немного переделал вашу программу:
neske , Вы правы. Но так как ищутся делители у всех чисел от 1 до n, то можно, учитывая однозначность канонического разложения, использовать решето Эратосфена, тогда вообще без делений будет. Первичная цель была убрать повторные вычисления сумм. Если бы ТС было это недостаточно, можно было идти дальше. Но все равно, спасибо за ценное замечание.
Добавлено через 10 минут neske , алгоритм неверно считает, например для 9 выдает 13. Думаю, что лучше так
да еще и проверок в нем меньше. В алгоритме не должно само число n учитываться. А если все делители, то можно так
Решение вообще, конечно алгоритм можно оптимизировать, исходя из первых простых чисел 2, 3, 5. p, только код объемнее будет, но быстрее.
Добавлено через 17 часов 39 минут Немного подумал на досуге. Алгоритм можно линейным сделать. Вводите m и n и на отрезке от m до n найдутся все пары дружественных чисел. Например, для m=1, n=100000 алгоритм работает моментально.
Вся сложность пока в нахождении суммы делителей. Это не оптимальный вариант, но уже более-менее быстрый. И по массиву a достаточно 1 раз пройти.
Добавлено через 3 часа 7 минут Алгоритм существует быстрого нахождения сумм делителей (ура, придумал. ) на отрезке. Для любителей прекальков выкладываю
программа работала пару секунд.
Добавлено через 19 часов 39 минут У кого еще какие предложения по поводу того, что возможно ли быстрее чем за 2-3 секунды обработать натуральных чисел в этой задаче. Задача очень интересная в том смысле, что многие участники олимпиад не придумали лучше чем сделать прекальк. А алгоритм то существует.
Источник