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

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

Войти
Регистрация
Восстановить пароль
 
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 104
#1

Разработать функцию, которая для заданного натурального числа N возвращает число его делителей - C++

03.03.2014, 21:53. Просмотров 659. Ответов 2
Метки нет (Все метки)

Разработать функцию, которая для заданного натурального числа N возвращает кол-во его делителей. с помощью данной функции:для каждого целого числа отрезка [a,b],вывести на экран кол-во делителей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 21:53     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей
Посмотрите здесь:
C++ Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей
Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей C++
Разработать нерекурсивную функцию, которая для заданного натурального числа N возвращает сумму его делителей C++
Разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр C++
Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. C++
C++ Разработать функцию, которая для заданного натурального числа находит корень
C++ Разработать функцию,которая для заданного натурального числа n-находит значение
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n C++
Для заданного натурального числа N найти количество его делителей C++
C++ Напишите функцию, которая вычисляет факториал для заданного натурального числа
C++ Разработать функцию, возвращающую младшую цифру заданного натурального числа
C++ Написать рекурсивную функцию, для определения всех делителей натурального числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lukalexrus
7 / 6 / 1
Регистрация: 12.01.2014
Сообщений: 32
03.03.2014, 21:59     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей #2
filimoncc, Ну функция поидее должна выглядеть как-то примерно так
C++
1
2
3
4
5
6
7
8
9
10
 void funct( int n ) {
 
int i;
for ( i= 2; i<=n/2; i++ ) {
    if ( n%i == 0 ) {
        printf( " %d", i );
    }
}
printf( "\n" );
}
Ну а уж преминить ее в цикле думаю не будет сложно
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
03.03.2014, 22:17     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int number_of_divisors(int x){
    int count = 0;
    for (int i = 1; i <= x / 2; i++) // число 1 - тоже делитель
        if (x%i == 0)
            ++count;
    return ++count; // увеличиваем количество делителей еще на один, т.к. число - делитель самого себя.
}
int main()
{
    int a,b;
    cin >> a >> b;
    for (int i = a; i <= b; i++)
        cout << i <<" "<<number_of_divisors(i) << endl;
    system("pause");
    return 0;
}
Добавлено через 7 минут
Такая функция будет работать быстрее(проверяем только до корня из x)
C++
1
2
3
4
5
6
7
8
9
10
int number_of_divisors(int x){
    int i,count = 0;
    for (i = 1; i*i < x; i++){
        if (x%i == 0)
            count += 2;
    }
    if (i*i == x)
        count++;
    return count;
}
Ответ Создать тему
Опции темы

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