Форум программистов, компьютерный форум 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)вывести результат Добавлено через 23 часа 23 минуты Закройте эту тему ответ найден.
Используя механизм перегрузки функций, разработайте две версии функции F C++
Используя механизм перегрузки функций, разработайте две версии функции F, заголовки которых выглядят следующим образом: 1) float F(float х); 2) void F (float x, float &y); Продемонстрируйте работу данных функций на примерах. 0 , если х < 0 ; у= х^2 + 1, если х >= 0 и х не равен 1; 1, если х = 1.
C++ Сравнение строк http://www.cyberforum.ru/cpp-beginners/thread1126972.html
Добрый вечер. Пользователь должен ввести слово которое находиться в инструкции if и ему должно показать что ответ верный. Но почему то всегда пишет что не верно. Вот код #include <iostream> #include <cstring> using namespace std;
C++ Подсчитать сумму элементов, расположенных на побочной диагонали Использование функций-шаблонов: для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи: Подсчитать сумму элементов, расположенных на побочной диагонали. подробнее

Показать сообщение отдельно
kiborgdelto
70 / 72 / 27
Регистрация: 23.03.2011
Сообщений: 141
29.03.2014, 23:03     Выведите все простые множители этого числа в порядке неубывания с учетом кратности (рекурсия)
могу предложить только такой вариант, цикл используется только при считывании простых чисел в массив, для последующего поиска разложения на простые числа
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
54
55
56
57
58
59
#include <iostream>
#include <iomanip> 
#include<locale>
#include <fstream>
using namespace std;
 
int prost_chisl(int* chisl, int n);
int prost_del(int *chisl,int n1, int k1);
 
void main (void) 
 {
    setlocale(LC_ALL,"Rus");
    int n,k; 
   cout<<"Введите число\n";
   cin>>n;
   int *chisl= new int [n];
   k=prost_chisl(chisl, n);
   cout<<"Разложение на простые множители:\n";
   prost_del(chisl,n,0);
    cin.get();
    cin.get();
    delete [] chisl;
 }
 
int prost_chisl(int* chisl, int n)
   {
       
       ifstream fp ("C:\\числа.txt");
       if ( ! fp ) 
       {
            cout << "ошибка: не могу открыть входной файл " << endl;
            system("pause");
            exit(0);
        }
 
       int i=0,k=0;
       do
       {
       fp >>chisl[i];
       i++;
       }
        while(n>chisl[i-1]);
        k=i-1;
       fp.close();
       return k;
   }
 
int prost_del(int *chisl,int n1, int k1)
{
    if(n1%chisl[k1]==0||n1==1)
    {
        cout<<chisl[k1]<<endl;
        n1=n1/chisl[k1];
        k1=0;
        if(n1==1) return 0;
        prost_del(chisl,n1, k1);
    }
    else prost_del(chisl,n1, k1+1);
}
могу конечно и без считыания (и цикла естественно) попробовать сделать, но тогда сложность программы повысится значительно (нужно будет искать простые числа вручную)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru