РЕКУРСИЯ

  • Автор темы Автор темы 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" ДОЛЖНА БЫТЬ РЕКУРСИВНОЙ.
 
В чем трудности?
 
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;
}
не писал на си давно, мож что накосячил.
Твое творение и в нерекурсивном виде корректно работать не будет
либо я сам задачу не понял
данная ф-я выведет по порядку разложение числа на простые сомножители, не сохраняя в памяти этих самых сомножителей
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab