Перевести на с++ .Число рівне сумі всіх своїх дільників , включаючи одиницю , називається досконалим знайти і надрукувати всі досконалі числа в інтервалі від 2 до х .​


Перевести на с++ .Число рівне сумі всіх своїх дільників , включаючи одиницю , називається досконалим

Krolya1999 Krolya1999    3   27.10.2020 19:17    2

Ответы
vanek58 vanek58  26.11.2020 19:17

#include <iostream>

#include <clocale>

using namespace std;

int main()

{

   setlocale(LC_ALL,"Russian");

   int x, i, j, s;

   cout << "Введите x: ";

   cin >> x;

   for (int i = 2; i <= x; i++)

   {

       s = 0;

       for (int j = 1; j <= i / 2; j++)

       {

           if (i % j == 0)

           {

               s += j;

           }

       }

       if (s == i)

       {

           cout << i << " ";

       }

   }

}

Объяснение:

#include <iostream>  // Библиотека ввода-вывода

#include <clocale>  // Библиотека локализации (возможно, будет работать и без нее)

using namespace std;  // Пространство имён

int main()

{

   setlocale(LC_ALL,"Russian");  // Локализация в консоли (возможно, будет работать и без нее)

   int x, i, j, s;  // Объявление переменных

   cout << "Введите x: ";  // Выводим текст

   cin >> x;  // Вводим x с клавиатуры

   for (int i = 2; i <= x; i++)  // Выполняем до того момента, пока i <= x

   {

       s = 0;

       for (int j = 1; j <= i / 2; j++)  // Выполняем до того момента, пока j <= i ÷ 2 (без остатка)

       {

           if (i % j == 0)  // Если остаток от i ÷ j = 0

           {

               s += j;  // К s прибавляется j

           }

       }

       if (s == i)  // Если s = i

       {

           cout << i << " ";  // Выводим i с пробелом

       }

   }

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика