Решенные задачи на языке Паскаль
Условие задачи - из списка задач к Госэкзаменам по предмету "Технология разработки программных продуктов".
Задача №17.
Содружественные числа - это два натуральных числа, каждое из которых равно сумме натуральных делителей другого (за исключением самого его). Например: делителями числа 220 являются 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 они в сумме дают 284. Делителями числа 284 являются 1, 2, 4, 71, 142, они в сумме дают 220. Найти все содружественные числа до 1000.
var a,b,i,j:integer; {определение суммы делителей числа} FUNCTION summ_del(const x:integer):integer; var s:integer; BEGIN s:=0; for i:=1 to x-1 do if x mod i =0 then s:=s+i; summ_del:=s; END; BEGIN for j:=2 to 1000 do begin a:=summ_del(j); b:=summ_del(a); if j=b then writeln(j,' - ',a); end; END.* переменная a - сумма делителей числа от 2 до 1000;
* переменная b - сумма делителей числа a;
* переменные i,j - для цикла.
Скачать исходник