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

Выведите все простые множители этого числа в порядке неубывания с учетом кратности (рекурсия) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выход из вложенного цикла http://www.cyberforum.ru/cpp-beginners/thread1127023.html
Собственно как выходить из вложенного цикла ? goto ?
C++ Проверьте блок схему на предмет ошибок Вот есть блок схема необходимо ее проверить, программу написал работает нормально. Очень буду признателен за указания на ошибки http://www.cyberforum.ru/cpp-beginners/thread1127009.html
Найти самое длинное слово, которое заканчивается на «н» C++
Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо: 1)найти самое длинное слово, которое заканчивается на «н» 2)исключить эти слова из строки 3)вывести результат ...
Используя механизм перегрузки функций, разработайте две версии функции F C++
Используя механизм перегрузки функций, разработайте две версии функции F, заголовки которых выглядят следующим образом: 1) float F(float х); 2) void F (float x, float &y);...
C++ Сравнение строк http://www.cyberforum.ru/cpp-beginners/thread1126972.html
Добрый вечер. Пользователь должен ввести слово которое находиться в инструкции if и ему должно показать что ответ верный. Но почему то всегда пишет что не верно. Вот код #include <iostream>...
C++ Подсчитать сумму элементов, расположенных на побочной диагонали Использование функций-шаблонов: для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи: Подсчитать... подробнее

Показать сообщение отдельно
kiborgdelto
71 / 73 / 27
Регистрация: 23.03.2011
Сообщений: 141
29.03.2014, 23:24
в приведённой выше программе всё это есть, функция prost_del


вот рабочая программа, без циклов и файлов с рекурсией
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
#include <iostream>
#include<locale>
#include <fstream>
#include <cmath>
using namespace std;
 
int prost_del(int n1, int n);
int prost_c(int n, int k);
 
void main (void) 
 {
   setlocale(LC_ALL,"Rus");
   int n; 
   cout<<"Введите число\n";
   cin>>n;
   cout<<"Разложение на простые множители:\n";
   prost_del(n,2);
   cin.get();
   cin.get();
}
 
int prost_del(int n1,  int n)// функция проводит разложение числа n1 на простые множители, n 1-t простое число (2)
{
    int t;
    t=prost_c(n, 2);
    if(n1%t==0||n1==1)
    {
        cout<<t<<endl;
        n1=n1/t;
        if(n1==1) return 0;
        prost_del(n1,  2);
    }
    else prost_del(n1, t+1);
}
 
int prost_c(int n, int k)// вычисляет следующее за n простое число (кроме n=2)
{
    if(n==2||n%k!=0&&k>=sqrt((double)n)) return n;
    else    if(k<sqrt((double)n)) prost_c(n,k+1);
            else prost_c(n+1,2);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru