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

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

Восстановить пароль Регистрация
 
filimoncc
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 101
22.03.2014, 21:04     Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей #1
Разработать функцию, которая для заданного натурального числа N возвращает
сумму его делителей. С помощью данной функции:
вывести на экран только те целые числа отрезка [а, Ь], у которых сумма
делителей равна заданному числу;
ВОт код:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<iostream>
using namespace std;
 
int func(int a)
{
    if (a==1)
    {
        int sumdel=a;
        int z;
        z=a/2;
        for (int i=2; i<=z; i++)
        {
             if (a%i==0)
            {
            sumdel+=i;
            }
        }
 
 
        return sumdel;
    }
    else
        {
        int sumdel=a+1;
        int z;
        z=a/2;
        for (int i=2; i<=z; i++)
        {
             if (a%i==0)
            {
            sumdel+=i;
            }
        }
        return sumdel;
}
}
 
int main()
{
 
    int a, b, sumdel, N;
    int k=0;
    cout<<"Vvedite N:";
     cin>>N;
     cout<<"Vvedite a:";
     cin>>a;
      cout<<"Vvedite b:";
      cin>>b;
 
    for (a=a; a<=b; a++)
    {
            func(a);
 
        cout<<sumdel<<endl;//проверка значения суммы делителей
      if (sumdel==N)
      {
          int h=2;
        cout<<h<<endl;//проверка
       cout<<a<<endl;
      k++;
      }
 
    }
    if (k==0)
      cout<<"Net chisla takogo"<<endl;
return 0;
}
Добавлено через 1 минуту
Почему-то сумма делителей из функции возвращается некорректно. Где же неправильно?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 21:04     Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей
Посмотрите здесь:

Разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр C++
Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. C++
Разработать нерекурсивную функцию, которая для заданного натурального числа N возвращает сумму его делителей C++
C++ Разработать функцию, которая для заданного натурального числа находит корень
Разработать функцию f(n), которая для заданного натурального числа п находит значение корень 4n + n C++
Разработать функцию, которая для заданного натурального числа N возвращает кол-во его делителей C++
C++ Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей
Для заданного натурального числа N найти количество его делителей C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
just_freelance
61 / 37 / 9
Регистрация: 15.03.2014
Сообщений: 315
22.03.2014, 21:08     Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от filimoncc Посмотреть сообщение
if (a==1)
Сумма делителей числа 1 — 1, не нужно всего того кода.

И в 52 строке, очевидно, должно было бы быть
C++
1
sumdel = func(a);
Yandex
Объявления
22.03.2014, 21:08     Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей
Ответ Создать тему
Опции темы

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