Не могу понять одну маленькую деталь ...написал функцию она работает ...но когда пытаюсь ее прокручивать в цикле результатов совсем нет ...подскажите пожалуста где я ошибся?
Два натуральных числа называются "дружественными", если каждое из них равно сумме всех делителей другого, за исключением его самого (таковы, например, числа 220 и 284). Напечатать все пары "дружественных" чисел, не превосходящих заданного натурального числа.
(Определить функцию, вычисляющую сумму делителей числа.)
program pr4
integer s1
real k,g,s
write(*,*) "vvdedite chislo k"
read(*,*) k
do g=2,k
s=del(g)
s1=del(s-1)
if((s1==g).and.(s/=g).and.(s/=x)) then
write(*,*) "Chisla",g," i",s,"-drugestvenie"
x=s1
endif
end do
contains
integer function del(a)
integer s
integer h,i
h=a
s=0
do i=1,a-1
if(mod(h,i)==0) then
s=s+i
end if
end do
del=s
end function del
end
Два натуральных числа называются "дружественными", если каждое из них равно сумме всех делителей другого, за исключением его самого (таковы, например, числа 220 и 284). Напечатать все пары "дружественных" чисел, не превосходящих заданного натурального числа.
(Определить функцию, вычисляющую сумму делителей числа.)
program pr4
integer s1
real k,g,s
write(*,*) "vvdedite chislo k"
read(*,*) k
do g=2,k
s=del(g)
s1=del(s-1)
if((s1==g).and.(s/=g).and.(s/=x)) then
write(*,*) "Chisla",g," i",s,"-drugestvenie"
x=s1
endif
end do
contains
integer function del(a)
integer s
integer h,i
h=a
s=0
do i=1,a-1
if(mod(h,i)==0) then
s=s+i
end if
end do
del=s
end function del
end