Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
#1

Найти число - C++

09.12.2013, 16:38. Просмотров 190. Ответов 0
Метки нет (Все метки)

Программа должна находить некоторое состаное число, номер которого вводится пользователем, первое составное число это 4.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<stdio.h>
 
int Sost(int x, int y=2 )
{
 
    if(y<x)
    {
        if (x%y==0)
        {
            return 1;
        }
        else
        {
            return Sost(x,y+1);
 
        }
    }
    else
    {
     return 0;
    }
 
}
 
int Num(int x, int y)
{
    if(x==1)
    {
        return 4;
    }
    else
    {
        if(Sost(x)==1)
        {
            return y+Sost(x+1);
 
        }
        else
        {
            return Sost(x+1);
        }
 
 
    }
 
}
int main()
{
    int x,y;
    scanf("%d", &x);
    int a=Num(x,y);
    printf("%d", a);
}
Вот программа считает, но что-то не то. Помогите, пожалуйста, ее исправить, используя только рекурсию.
А вот это уже готовая прога, но структурированная.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include<stdio.h>
 
int main()
{
   int x,a,t,i;
   scanf("%d",&x);
 
   if (x==1)
   {
       a=4;
       printf("%d",a);
       return 0;
 
   }
 
   t=1;
   a=5;
 
   int m = 0;
 
   while(m==0)
       {
           i=2;
           while (i<a)
           {
               if(m == 0)
               {
                   if(a%i==0)
                   {
                       t=t+1;
                       if(t==x)
                       {
                           printf("%d", a);
                           m = 1;
                       }
                       a=a+1;
                   }
               }
               ++i;
 
           }
           a=a+1;
     }
 
}
Добавлено через 25 минут
Как можно обычную эту программу переписать в рекурсивную? помогите, пожалуйста

Добавлено через 20 минут
Рекурсивная программа выдает не те значения, помогите, пожалуйста, поправить ее

Добавлено через 18 часов 40 минут
Ребят, помогите, пожалуйста, очень надо(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 16:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти число (C++):

Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число - C++
Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число.

Дано вещественное число А>0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А - C++
Дано вещественное число А&gt;0. Найти среди чисел 1, 1+1/2, 1+1/3,… первое число, большее А

Ввести число n, разбить число на цифры, и найти сумму этих цифр - C++
Здравствуйте.Очень нужно сделать задание, кто может? Заранее спасибо!!! Ввести число n, разбить число на цифры, и найти сумму этих...

Найти число в двоичной записи которого максимальное число единиц - C++
Среди простых чисел ,не превосходящих N ,найти такое ,в двоичной записи которого максимальное число единиц. Уважаемые форумчане помогите...

Дано рандомное вещественное число P, найти число M после запятой - C++
1)Дано рандомное вещественное число P, найти число М после запятой, если пользователь задает точность количества чисел после запятой. 2)...

Дано натуральное число n и действительное число а, найти, используя цикл - C++
Дано натуральное число n и действительное число а, найти, используя цикл: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 16:38
Привет! Вот еще темы с ответами:

Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a - C++
Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a.

Найти максимальное число в массиве и определить, сколько цифр числа делятся на число Z - C++
Массив intA=

как сложить/умножить/найти большее/найти меньшее/найти средние число - C++
привет всем подскажите как сложить/умножить/найти большее/найти меньшее/найти средние число из например 10 введенных чисел, в одной...

Найти и вывести все слова, у которых число гласных букв превышает число согласных - C++
Задание: Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть только заглавные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru