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

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

Войти
Регистрация
Восстановить пароль
 
ilgam-boys
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 12
#1

нерекурсивная функция - C++

26.03.2012, 17:35. Просмотров 502. Ответов 2
Метки нет (Все метки)

Разработать функцию которая для заданного натурального числа N возвращает количество его делителей.С помощью функции : вывести на экран только те целые числа отрезка [a,b] у которых количество делителей равно заданному числу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 17:35     нерекурсивная функция
Посмотрите здесь:

Функция C++
Функция a,b,c C++
C++ Функция y=f(x)
C++ функция
Рекурсивная, нерекурсивная и in-line функции НОД C++
C++ Функция
Функция в с++ C++
функция C++
функция C++
C++ Функция
C++ Нерекурсивная быстрая сортировка со стеком
Нерекурсивная генерация всех последовательностей из 0 и 1 длины k C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
26.03.2012, 18:10     нерекурсивная функция #2
Наработки есть?
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
26.03.2012, 19:02     нерекурсивная функция #3
Вот метод в лоб, вроде работает.

ты уверен, что тебе нужно количество делителей, а не их сумма?

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
#include <iostream>
#include <cmath>
#include <cstdlib>
#define forn(n0,i,n1) for(int i=n0; i<n1; i++)
 
using namespace std;
 
int divQty(int a)
{
    int qty = 0;
    forn(2,i,a)
    {
        qty += int(not (a % i));
    }
    return qty+2; // ибо в цикле не считаются само число и 1
}
 
int main(int argc, char **argv)
{
    int a,b;
    cin >> a >> b;
    forn(a,i,(b+1))
    {
        if (divQty(i) == i)
            cout << i << ' ';
    }
    cout << endl;
    return 0;
}
Yandex
Объявления
26.03.2012, 19:02     нерекурсивная функция
Ответ Создать тему
Опции темы

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