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

Разработать функцию, которая для заданного натурального числа 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?? И что...
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...
C++ Решение неравенства нужно решить функцию с оператором If else подробнее

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