Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.10.2018
Сообщений: 104
1

Разложение числа на простые множители

08.11.2018, 20:39. Просмотров 714. Ответов 1
Метки нет (Все метки)

Дано натуральное число n ≥ 2. Составить программу разложения этого числа на простые множители:
•простой множитель р должен быть выведен k раз, где k – натуральное число, такое, что n делится на рk и не делится на рk+1;
•каждый простой множитель должен быть выведен ровно один раз.

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
#include <iostream>
#include <clocale>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    int j = 0, n, k, p = 1, i;
    cout << "Введите натуральное число n (n>=2): ";
    cin >> n;
    k = n;
    cout << "Простые множители выведены k раз: ";
    for (p = 2; p <= n; p++)
    {
        while (k%p == 0)
        {
            cout << " " << p;
            k = k / p;
        }
    }
 
    cout << "\nПростые множители выведены 1 раз: ";
    for (i = 2; i <= n; i++)
    {
        if (n%i == 0)
        {
            cout << " " << i;
            n = n / i;
        }
        else { i = i + 2; }
 
    }
    _getch();
    return 0;
}
Помогите найти ошибку, пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2018, 20:39
Ответы с готовыми решениями:

Разложение натурального числа на простые множители
Выведите разложение натурального числа n &gt; 1 на простые множители. Простые множители должны быть...

Разложение числа на простые множители (упрощенная). Зацикливание?
Добрый вечер. Написал небольшой код для разложения небольших чисел на простые цифры. По умолчанию...

Разложение на простые множители заданного натурального числа
Составить программу , печатающую разложение на простые мн0жители заданн0го натУральн0го числа n &gt; 0...

Описать функцию, находящую разложение заданного натурального числа на простые множители
Помогите написать программу, пожалуйста Описать функцию factors(a, n, F), находящую разложение...

1
1528 / 880 / 409
Регистрация: 01.10.2018
Сообщений: 1,834
Записей в блоге: 2
09.11.2018, 02:36 2
Так будет и проще, и быстрее, и, главное, правильно:
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
#include <iostream>
#include <clocale>
#include <conio.h>
 
using namespace std;
 
int main() {
    setlocale(LC_CTYPE, "Russian");
    int j = 0, n, k, p = 1, i;
    cout << "Введите натуральное число n (n>=2): ";
    cin >> n;
 
    cout << "\nПростые множители выведены k раз: ";
    k = n;
    p = 2;
    while (k > 1) {
        if (k % p == 0) {
            cout << " " << p;
            k /= p;
            p = 2;
        }
        else
            ++p;
    }
 
    cout << "\nПростые множители выведены 1 раз: ";
    k = n;
    p = 2;
    i = INT_MIN;
    while (k > 1) {
        if (k % p == 0) {
            if (p > i) {
                i = p;
                cout << " " << p;
            }
            k /= p;
            p = 2;
        }
        else
            ++p;
    }
 
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2018, 02:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Разложение в простые множители
Дано натуральное число n. Требуется найти его разложение на простые множители. Формат выходных...

Разложение на простые множители*
Привет всем, помогите решить, если можно с комментариями что и как, буду очень благодарен, а то у...

Разложение на простые множители без рекурсии
Задача такая : Надо написать две функции get_all_divisorts и get_lowest_divisor. Функция main...

Разложение больших целых чисел на простые множители
Нужно написать программу, которая раскладывает числа на простые множители. Я знаю что теоретически...


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

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

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