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

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

Войти
Регистрация
Восстановить пароль
 
Mark77
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 7
#1

Описать функцию, находящую разложение заданного натурального числа на простые множители - C++

29.11.2016, 20:56. Просмотров 221. Ответов 4
Метки нет (Все метки)

Помогите написать программу, пожалуйста
Описать функцию factors(a, n, F), находящую разложение натурального числа a на простые множители. Количество множителей возвращается в целой переменной n, а сами множители (в порядке неубывания) – в целочисленном массиве F (n и F – выходные параметры; максимальное число элементов массива F считать равным 15)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2016, 20:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать функцию, находящую разложение заданного натурального числа на простые множители (C++):

Разложение на простые множители заданного натурального числа - C++
Составить программу , печатающую разложение на простые мн0жители заданн0го натУральн0го числа n > 0 (другими словами требуется печатать...

Разложение натурального числа на простые множители - C++
Выведите разложение натурального числа n > 1 на простые множители. Простые множители должны быть упорядочены по возрастанию и разделены...

Напишите функцию разложения натурального числа на простые множители. - C++
Напишите функцию разложения натурального числа на простые множители.

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

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

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

4
lawr
367 / 261 / 125
Регистрация: 09.05.2014
Сообщений: 769
01.12.2016, 12:38 #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
#include <iostream>
void factors(int a, int F[], int &n){
    
        for (int div=2; div<=a; div++)
        {
            bool prime=true;
            for (int d=2; d<div/2; d++)
                if (div/d==0){
                    prime=false;
                    break;
                }
            if (prime)
                while (a%div==0)
                {
                    F[n]=div;
                    n++;
                    if (n==15)
                        return;
                    a/=div;
                }
        }
}
 
int main(){
    int num, n=0, PrimeDiv [15];
    std::cin>>num;
    factors(num, PrimeDiv, n);
    for (int i=0; i<n; i++)
        std::cout<<PrimeDiv[i]<<' ';
        
}
1
Mark77
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 7
02.12.2016, 11:07  [ТС] #3
lawr, программа выводит множители, но не выводит их количество
0
lawr
367 / 261 / 125
Регистрация: 09.05.2014
Сообщений: 769
02.12.2016, 14:45 #4
Mark77,
C++
1
std::cout<<"prime divisors quantity= "<<n<<std::endl;
1
Байт
Диссидент
Эксперт C
16836 / 11101 / 1744
Регистрация: 24.12.2010
Сообщений: 21,812
02.12.2016, 14:53 #5
C++
1
2
3
4
5
6
7
8
9
10
11
int factors(int a, int F[]){
 int n=0;
 for (int div=2; a>1; ) {
   if (a%div==0) {
     F[n++] = div;
     a /= div;
   }
   else div++;
}
return n;
}
2
02.12.2016, 14:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2016, 14:53
Привет! Вот еще темы с ответами:

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

Найти все простые делители заданного натурального числа - C++
Дано натуральное число n. Получить все простые делители этого числа.

Получить все простые делители заданного натурального числа - C++
Бьюсь с этой задачей уже несколько часов. Выдает сбой в вычислениях, и я не могу понять почему. За проверку брал число 1463....

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


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

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

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