РЕКУРСИЯ

Тема в разделе "Общие вопросы по С и С++", создана пользователем subval, 24 мар 2009.

  1. subval

    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" ДОЛЖНА БЫТЬ РЕКУРСИВНОЙ.
     
  2. etc

    etc Гость

    В чем трудности?
     
  3. Гость

    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;
    }
    не писал на си давно, мож что накосячил.
    Твое творение и в нерекурсивном виде корректно работать не будет
    либо я сам задачу не понял
    данная ф-я выведет по порядку разложение числа на простые сомножители, не сохраняя в памяти этих самых сомножителей
     
Загрузка...
Похожие Темы - РЕКУРСИЯ
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.071
  2. 95процентов
    Ответов:
    7
    Просмотров:
    1.911
  3. 95процентов
    Ответов:
    0
    Просмотров:
    945
  4. 95процентов
    Ответов:
    0
    Просмотров:
    1.015
  5. vladis222
    Ответов:
    10
    Просмотров:
    2.383

Поделиться этой страницей