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

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

Восстановить пароль Регистрация
 
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 101
03.03.2014, 21:53     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей #1
Разработать функцию, которая для заданного натурального числа N возвращает кол-во его делителей. с помощью данной функции:для каждого целого числа отрезка [a,b],вывести на экран кол-во делителей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 21:53     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей
Посмотрите здесь:

Разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр C++
Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. C++
Разработать нерекурсивную функцию, которая для заданного натурального числа N возвращает сумму его делителей C++
C++ Разработать функцию, которая для заданного натурального числа находит корень
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n C++
Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей C++
C++ Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей
Для заданного натурального числа N найти количество его делителей 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
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
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;
}
Yandex
Объявления
03.03.2014, 22:17     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей
Ответ Создать тему
Опции темы

Текущее время: 13:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru