Предмет: Информатика, автор: janvilenldov92

Дано целое число N(>0).
Найти сумму его простых делителей.
Задача на с++.

Ответы

Автор ответа: ВЕЛЬШУНЯ
0

Ответ:

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

   int n,d=2, s=0;// идентифицируем переменные,d=2 т.к минимальный возможный простой делитель//

   cout << "n=";//вводим n

   cin >> n;//считываем n//

  while (d < n)// повторяем цикл пока d не станет на 1 меньше n//

       if (n % d == 0) //если остаток от деления =0, то n/d и выводим d на экран.//

       {

           n /= d;

           cout << d << " ";

       }

       else //если остаток от деления >0, то прибавляем к d 1, и повторяем цикл.//

           ++d;// здесь прибавляем 1

  if (n != 1)// если n не равно 1, то выводим n на экран(вот здесь я не поняла)//

      cout << n << " ";

      cout <<endl;

}

Объяснение:


janvilenldov92: Добрый вечер. К сожалению или к счастью, я тоже видел этот код на просторах сети, но он не выводит сумму простых делителей числа. Я заплутал с этой задачей в том смысле, что сам могу написать только программу для вывода суммы всех делителей, а не только простых. Мне важно было бы увидеть хотя бы намек на помощь в том, как стоит вписать условие на проверку простоты.
ВЕЛЬШУНЯ: В таком случае прошу прощение, что не смогла помочь. Могу подсказать вам пару ресурсов для поиска подобных задач, (англоязычных). Думаю, здесь Вам с этим вряд ли кто-то поможет...
Похожие вопросы