Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 18:10   #1
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию найти сумму всех делителей числа (С++)

Здравствуйте, у меня вот такая задача: Найти сумму всех делителей числа, но сделать это надо через функцию.
Я написала только как найти делитель:
#include <iostream.h>
int main()
{
int num, half,div;
cout <<"\nVvedite chislo:"; cin >> num;
for (half = num/1,div = 1; div <= half; div++)
if (!(num%div))cout << div <<"\n";
return 0;
}

Но вот как сумму посчитать через функцию никак не могу додуматься.
Пожалуйста,помогите, дайте хотя бы какие-нибудь наводки.
yula92 вне форума Ответить с цитированием
Старый 18.05.2010, 18:19   #2
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Код:
#include <cmath>
int sum(int n)
{
    int res=0;
    for (int i=1; i*i<=n; i++)
                if (!(n%i))
                {
                       res+=i;
                       if (i*i!==n)
                           res+=n/i;
                 }
    return res;
}
писал тут, поэтому негрубые баги допустимы (:
O(n)
sabbathist вне форума Ответить с цитированием
Старый 18.05.2010, 19:20   #3
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию

у меня в
if (i*i!==n)
этой строчке показывает ошибку синтаксиса "="
yula92 вне форума Ответить с цитированием
Старый 18.05.2010, 19:23   #4
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

один знак "=" лишний.
O(n)
sabbathist вне форума Ответить с цитированием
Старый 18.05.2010, 19:25   #5
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию

никак,тогда вот такие ошибки:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/lab6.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
yula92 вне форума Ответить с цитированием
Старый 18.05.2010, 19:25   #6
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

ну конечно %)
мэйн же я не буду за вас писать


код целиком покажите.
O(n)
sabbathist вне форума Ответить с цитированием
Старый 18.05.2010, 19:29   #7
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию

извините,я начинающая программистка))
yula92 вне форума Ответить с цитированием
Старый 18.05.2010, 19:30   #8
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Извиняю, но ухожу. Разбирайтесь сами, либо ждите, пока кто-нибудь другой напишет.
O(n)
sabbathist вне форума Ответить с цитированием
Старый 18.05.2010, 19:31   #9
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию

Спасибо Вам большое)))
yula92 вне форума Ответить с цитированием
Старый 18.05.2010, 20:52   #10
yula92
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 15
По умолчанию

Написала,только похоже не считает и постоянно выдает одно и то же число
#include <stdio.h>
#include <math.h>
#include <iostream.h>
int sum(int n)
{
int res=0;
for (int i=1; i*i<=n; i++)
if (!(n%i))
{
res+=i;
if (i*i!=n)
res+=n/i;
}
return res;
}
void main()
{
int n,res;
cout << "\nVvedite chislo:";
cin >> n;
printf("Summa: %d",res);

}
yula92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу нахождения всех делителей натурального числа N livestrong Помощь студентам 1 24.12.2008 20:35
Составить программу нахождения всех делителей натурального числа N livestrong Помощь студентам 3 24.12.2008 19:02
Найти все целые числа,у которых ровно 6 делителей; jenja Общие вопросы C/C++ 3 03.10.2008 20:32
Помогите!Срочно! "Составьте программу получения в порядке убывания всех делителей данного числа" koston Паскаль, Turbo Pascal, PascalABC.NET 2 26.03.2008 12:34