Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
09.07.2013, 19:46

Алгоритм проверки числа на "совершенность" - C++

09.07.2013, 19:46. Просмотров 2356. Ответов 42
Метки (Все метки)

Thinker, это то понятно. Но тогда придется делать лишнюю операцию умножения, скорость если и будет чуть больше, но не намного. У меня с самого начала была идея что вроде такой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool isPerfect( unsigned int x ) {
   unsigned int sum = 1;
   unsigned int border = x / 2;
   unsigned int tmp;
   
   for ( unsigned int i = 2; i < border; i++ ) {
      tmp = x / i;
      
      if ( tmp * i == x ) {
         sum += i;
         sum += tmp;
         border = tmp;
      }
   }
   
   return sum == x;
}

http://www.cyberforum.ru/cpp-beginners/thread1077746.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 19:46
Темы с ответами и решениями для C++ Алгоритм проверки числа на "совершенность":

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. ...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...

Нужно сделать так, чтобы при вводе числа, выводило "рублей" или "рубль"
Начал решать задачу и засох на средине, не выходить формулу написать,если не...

0
Алгоритм проверки числа на "совершенность" C++   Следующее сообщение темы 
Другие темы раздела
C++ Массивы и перестановка http://www.cyberforum.ru/cpp-beginners/thread920370.html
Помогите пожалуйста с задачей. Дано 2 массива, заполненных случайными числами, размером от 10-20 (рандом). Найти в первом массиве максимальное число и все числа, находящиеся до него записать в 3ий...
C++ Создайте класс на основе данной программы Создайте класс на основе данной программы #include <iostream> using namespace std; int main ( ) { const int n=10; int* ap; for(int j=0;j<n;j++) *(ap+j)=new int; http://www.cyberforum.ru/cpp-beginners/thread920338.html
Как определить в каком файле .lib реализована функция? C++
Есть один проект. В нем файл .h с прототипами функций и множество .lib-ов, с их реализациями. Я данные функции пытаюсь использовать в другом проекте, но при попытки построить проект VS2010 выдает...
Как получить int представление char (русские символ cp1251)? C++
Как получить int представление char (русские символ cp1251)?
C++ решении задачи (по Липпману) http://www.cyberforum.ru/cpp-beginners/thread920326.html
Занимаюсь по книги Стенли Липпмана "C++ Primer" (Язык программирования С++. Вводный курс). Возникла проблема с решением задачи.Текст - прочитайте некоторый текст, сохраняя каждое введенное слово как...
C++ Кошки Здравствуйте! Как в этом коде сделать так чтобы если кошке менее 2 лет, то цена кошки = 0$; Заранее спасибо!!! И еще как можно это часть кода: оптимизировать. Cat Mumu(140); ... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru