Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Mark77
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 7
1

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

29.11.2016, 20:56. Просмотров 285. Ответов 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
Ответы с готовыми решениями:

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

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

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

Разложение натурального числа на множители
Здравствуйте. Условие: Найти все варианты разложения данного натурального...

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

4
lawr
372 / 266 / 478
Регистрация: 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
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
02.12.2016, 14:45 4
Mark77,
C++
1
std::cout<<"prime divisors quantity= "<<n<<std::endl;
1
Байт
Эксперт C
18527 / 12032 / 2508
Регистрация: 24.12.2010
Сообщений: 24,310
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

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

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

Для заданного натурального числа найти все числа меньше его и взаимно простые с ним
Помогите написать код: для заданного с клавиатуры натурального числа N найти...


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

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

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