Найти все совершенные числа до 10000. Совершенное число — это такое число, которое равно сумме всех своих делителей, кроме себя самого. Например, число 6 является совершенным, т.к. кроме себя самого делится на числа 1, 2 и 3, которые в сумме дают 6.
В цикле, перебирая натуральные числа до 10000,
- присвоить переменной, в которой будет накапливаться сумма делителей, 0.
- В цикле от 1 до половины текущего натурального числа
- пытаться разделить исследуемое число нацело на счетчик внутреннего цикла.
- Если делитель делит число нацело, то добавить его к переменной суммы делителей.
Pascal
совершенное число паскаль
var
i,j,s: word;
begin
for i := 1 to 10000 do begin
s := 0;
for j:=1 to i div 2 do
if i mod j = 0 then
s := s+j;
if s = i then
write(i,’ ‘);
end;
writeln;
end.
6 28 496 8128
Язык Си
Тайное Учение Масонов и Архитекторов Этого Мира! Эта Книга Расставит Всё На Свои Места! l НИКОШО
#include < stdio.h>
main() int i,j,s,l;
for (i=2; i <10000; i++) s = 0;
for (j=1; j < i; j++)
if (i%j == 0)
s += j;
if (s == i)
printf(«%dn», i);
>
>
Если i поделить на 2, то программа работает неправильно. В Питоне такая же проблема.
Python
совершенные числа python
for i in range(2, 10000):
s = 0
for j in range(1, int(i // 2) + 1):
if i % j == 0:
s += j
if s == i:
print(i)
6
28
496
8128
КуМир
алг совершенные числа
нач
цел i,j,s
нц для i от 1 до 1000
s := 0
нц для j от 1 до div(i,2)
если mod(i,j) = 0 то
s := s + j
все
кц
если s = i то
вывод i, » »
все
кц
кон
Невероятно долгий поиск даже до 1000.
Basic-256
for i=2 to 10000
s = 0
for j=1 to i2
if i%j = 0 then s = s + j
next j
if s = i then print i
next i
6
28
496
8128
Источник: gospodaretsva.com
Совершенные числа
Число совершенно, если оно равно сумме всех своих делителей, кроме самого себя. Пример: 6 = 1 + 2 + 3. Найдите все совершенные числа от 1 до 10000 и выведите их на экран.
Подсказка: необходимо найти все делители от 1 до тестируемого числа. Делителем числа называется число, которое делит данное без остатка ( a mod b = 0 ).
Алгоритм решения задачи:
- Каждое число от 1 до 1000 поочередно делить на все целые числа от 1 до этого числа. На самом деле достаточно до половины заданного числа.
- Найти сумму всех делителей и сравнить с самим числом. Если сумма и число равны, то последнее является совершенным.
Программа на языке Паскаль:
Что такое совершенные числа
const N = 10000; var i, j, sum: integer; begin for i := 2 to N do begin sum := 0; for j := 1 to i div 2 do begin if i mod j = 0 then sum := sum + j; end; if sum = i then writeln(i, ‘ — perfect!’); end; end.
Результат выполнения программы:
6 — perfect! 28 — perfect! 496 — perfect! 8128 — perfect!
Источник: pas1.ru
Найти все совершенные числа, меньшие числа n.(Совершенное число, равно сумме всех своих делителей, исключая (программа Паскаль)
Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.
Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.
Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.
Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.
- Обратная связь
- Правила сайта
Источник: www.soloby.ru