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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2010, 17:29   #1
Снс
Пользователь
 
Регистрация: 29.09.2010
Сообщений: 13
По умолчанию С++

найти сумму всех простых делителей числа. Помогите,пожалуйста,срочно надо, завтра сдавать!

Последний раз редактировалось Снс; 06.10.2010 в 18:29.
Снс вне форума Ответить с цитированием
Старый 06.10.2010, 18:58   #2
Relz
 
Регистрация: 19.09.2010
Сообщений: 4
По умолчанию

#include <iostream.h>
#include <math.h>

int prostota(int n)
{
if (n <= 1)
return 0;

for (int j = 2; j * j <= n; j++)
if (n % j == 0) return 0;

return 1;
}


int main ()
{
int a, sum, i;
cin>>a; sum=0;
for (i=2; i<=a; i++) {if ((prostota(i)==1)&&(a%i==0)) sum=sum+i;}
cout<<sum;
}

Работает (вроде) корректно. Правда не знаю, если простое число встречается больше 1 раза, его надо повторно прибавлять? Если надо - изменяй программу.
Relz вне форума Ответить с цитированием
Ответ


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