На ввод подается одно число. Найдите сумму всех его обычных делителей.Входные

На ввод подается одно число. Найдите сумму всех его обычных делителей.
Входные данные
Одно целое положительное число, не превышающее 10 в ступени 6 и большее, чем один.
Выходные данные
Выведите сумму обычных делителей этого числа.
Образцы
ВВОД
6
ВЫВОД
5

Задать свой вопрос
1 ответ
Delphi / Pascal
function mySimpleDigit(a: integer):boolean;
var i: integer;
begin
for i:=sqrt(a) downto 1 do
if not (a mod i = 0) then mySimpleDigit:=false else mySimpleDigit:=true;
end;
var i,n,s: integer;
begin
write('Введите число: ');
readln(n);
if ((ngt;1) and (nlt;1000000)) then
begin
s:=0;
for i:=2 to n-1 do
if ((n mod i = 0) and (mySimpleDigit(i) = true)) then s:=s+i;
end;
writeln('Сумма всех обычных делителей: ', s);
readln;
end.

C++
include lt;cmathgt;
include lt;iostreamgt;
using namespace std;
bool mySimpleDigit(unsigned a)
for (unsigned i =sqrt(a); i gt; 1; i--)
if (!(a % i)) return false;
return true;

int main()
unsigned n,s;
cin gt;gt; n;
if ((ngt;1) amp;amp; (nlt;1000000))
s=0;
for (unsigned i=2; ilt;=n; i++)
if ((n%i==0) amp;amp; (mySimpleDigit(i)==true)) s+=i;
cout lt;lt; "Summa vsex prostix deliteley: " lt;lt; s;
else cout lt;lt; "Vvedite drugoe chislo";
return 0;
Варвара
for (unsigned i=2; i
Валерия
Исправьте в коде
Игорян
В ответе исправил.
Тимур
При n=1 он также не посчитает, т.к. таких делителей не будет
Витя Уйменов
И если n=10^6, т.е. 1000000
Ilja Jezov
Всее работает:) Спасибо громадное за помощь.
Ева Марцавенко
Извините, что пришлось так повозиться. Спасибо Для вас за терпение
Карина Безскорсова
Все хорошо
Sofja Rodivilina
При вводе N = 69984, сумма простых делителей 136655,хотя, для этого числа всего 2 обычных делителя - 2 и 3 69984 = 2^5 * 3^9, все другие делители - составные числа.
Зафириади Арсений
Склоняйтесь к варианту в C++, Delphi/Pascal - нерабочий и удалить уже не могу, т.к. помечено как ответ
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт