• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

РЕКУРСИЯ

  • Автор темы subval
  • Дата начала
S

subval

Любое натуральное число можно разложить на простые сомножители. Написать программу с использованием рекурсивной подпрограммы.

ВОТ КОД НА С:

[codebox]#include<stdio.h>
#include<math.h>
#include<conio.h>
int deliteli(int number)
{int div;
printf("\n Делители числа %d:\n",number);
for(div=1;div<=number;div++)
{if(number%div==0)
printf("%d, ",div);
}
return div;
}
void main()
{
int i,n1,n2;
printf("Введите начальное значение:");
scanf("%d",&n1);
printf("Введите конечное значение:");
scanf("%d",&n2);
for(i=n1;i<=n2;i++)
{deliteli(i);
getche();
}
if(n1==n2)
deliteli(n1);
}[/codebox]

ФУНКЦИЯ "DELITELI" ДОЛЖНА БЫТЬ РЕКУРСИВНОЙ.
 
G

Guest

void deliteli(int arg)
{
int i,d;
for(i=(arg-1);arg%i!=0;i--);
d=arg/i;
printf("%d",d);
If (i!=1) deliteli(d);
return;
}
не писал на си давно, мож что накосячил.
Твое творение и в нерекурсивном виде корректно работать не будет
либо я сам задачу не понял
данная ф-я выведет по порядку разложение числа на простые сомножители, не сохраняя в памяти этих самых сомножителей
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!