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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию http://www.cyberforum.ru/cpp-beginners/thread1110365.html
Добрый Вечер!!!Пожалуйста помогите решить задачу на Шаблоны Функций: Разработайте программу, в которой реализована сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию. Заранее большое спасибо!!!
C++ В начале строки поставить слово Допустим я вожу строку : abcd Мне нужно что-бы в начале строки появилось слово alphabet. http://www.cyberforum.ru/cpp-beginners/thread1110359.html
Программа сначала перезаписывает 100 байт, на которые указывает указатель, а затем освобождает память C++
Читаю уроки по C++ на форуме, почему то автор не хочет все нормально писать, в гугле ничего нормального не нашел, вот зачем в этой функции static void operator delete нужен static?? И что значит в этой же функции void* pointer?? Краткое описание: Программа сначала перезаписывает 100 байт, на которые указывает указатель, а затем освобождает память, используя для этого функцию...
C++ Найти ошибку в коде
Помогите исправить пожалуйста. #include <stdio.h> #include "stdafx.h" #include <iostream> using namespace std; void tt(char *str) {
C++ Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность http://www.cyberforum.ru/cpp-beginners/thread1110352.html
/* Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность. */ #include <stdio.h> #include <stdlib.h> #include <math.h> #define RUS system("chcp 1251 > nul") #define STOP system("pause") using namespace std;
C++ Решение неравенства нужно решить функцию с оператором If else подробнее

Показать сообщение отдельно
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
03.03.2014, 22:17     Разработать функцию, которая для заданного натурального числа N возвращает число его делителей
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;
}
 
Текущее время: 17:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru