1. Дано натуральное число N. Написать программу, которая определяет, является ли данное число совершенным (Совершенное число равно сумме всех своих делителей, не превосходящих само число). Число N вводится с клавиатуры. На экран вывести все делители числа, их сумму и сообщение является ли число совершенным. 2. Написать программу вычисления суммы, где N=10 — http://i5.pixs.ru/thumbs/7/4/6/Bezimyanni_1689784_4533746.jpg
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически , на интервале от хнач до хкон с шагом dx. Интервал и шаг задать таким образом, чтобы проверить все ветви программы. Таблицу снабдить заголовком и шапкой.
— http://i5.pixs.ru/storage/7/4/8/11png_9819425_4533748.png
Вычислить сумму и разность двух одномерных массивов, содержащих 20 элементов. В массиве суммы найти максимальный элемент и его индекс, в массиве разности найти минимальный элемент и его индекс. Исходные массивы ввести при помощи случайных чисел. На экран вывести исходные массивы, массив суммы, массив разности и индексы максимального и минимального элементов.
33550336 — пятое совершенное число | Совершенные числа
Создать массив с элементами akn=n f ( k ) + sin ( k ) g (n), где k, n =1, 2, 3, 4; — http://i5.pixs.ru/thumbs/8/3/8/2png_7213296_4533838.jpg Вывести его на экран в виде таблицы. Вычислить сумму отрицательных элементов массива. Найти максимальный элемент.
Определить список из 10 названий учебных дисциплин. Построить 5 множеств из различных элементов этого списка. Вывести на экран названия объектов, которые находятся во всех множествах одновременно. Вывести объекты, которые не входят ни в одно множество. Вывести объекты, которые входят в первое и четвертое множества, но не входят в третье.
— То что в красных скобках это пометка для себя.
Код к задаче: «Написать программу, которая определяет, является ли данное число совершенным»
Листинг программы
uses crt; const n=20; var m1,m2,s,r: array [1..n] of integer; i,imax,imin:byte; procedure PrintM(z:array [1..n] of integer); var i:byte; begin for i:=1 to n do write(z[i]:4); writeln; end; begin imax:=1; imin:=1; for i:=1 to n do begin m1[i]:=random(199)-99; m2[i]:=random(199)-99; s[i]:=m1[i]+m2[i]; r[i]:=m1[i]-m2[i]; if s[i]>s[imax] then imax:=i; if r[i]
Источник: studassistent.ru
Python Exercise: Проверьте, является ли число идеальным или нет
Напишите функцию Python, чтобы проверить, является ли число совершенным или нет.
Согласно Википедии: в теории чисел совершенное число — это положительное целое число, равное сумме его собственных положительных делителей, то есть сумме его положительных делителей, исключая само число (также известное как его аликвотная сумма). Эквивалентно, идеальное число — это число, которое составляет половину суммы всех его положительных делителей (включая себя).
Является ли число простым — Проверяем на языке Си
Пример : первое совершенное число равно 6, потому что 1, 2 и 3 являются его собственными положительными делителями, а 1 + 2 + 3 = 6. Эквивалентно, число 6 равно половине суммы всех его положительных делителей: (1 + 2 + 3 + 6) / 2 = 6. Следующее совершенное число — 28 = 1 + 2 + 4 + 7 + 14. За ним следуют совершенные числа 496 и 8128.
Пример решения : —
Код Python:
def perfect_number(n): sum = 0 for x in range(1, n): if n % x == 0: sum += x return sum == n print(perfect_number(6))
Правда
Наглядная презентация:
Блок — схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Каков уровень сложности этого упражнения?
Источник: www.kodesource.top
Совершенные числа на C++
Целое число называется совершенным, если его сомножители, включая 1 (но не само число) в сумме дают это число. Например, 6 — это совершенное число, так как 6 = 1 + 2 + 3. Напишите функцию is_perfect, которая определяет, является ли параметр number совершенным числом. Используйте эту функцию в программе, которая определяет и печатает все совершенные числа в диапазоне от 1 до 1000.
#include using namespace std; bool is_perfect(int num) < int sum = 0; //в цикле для полученного функцией аргумента //будем находить его сомножители, путем деления его на все //целые числа в интервале от 1 до самого числа for(int j = 1; j < num; j++) < if(num % j == 0) sum += j; >//если число и сумма его сомножителей равны — значит число совершенное if(sum == num) return true; return false; > int main() < for (int i = 1; i < 1000; ++i) < if (is_perfect(i)) < cout > >
Результат работы программы:
28.06.2019 в 19:47 #5692
1/2 часть цикла функции is_perfect работает впустую.
Из теории чисел известно, что все делители произвольного числа меньше половины этого числа, то есть j Учитывая этот факт, можно переписать is_perfect так:
bool is_perfect(int num) < int sum = 0; for (int j = 1; j > return sum == num; >
29.06.2019 в 06:07 #5693
Источник: pro-prof.com