Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программа для отыскания заданного количества пар дружественных чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ курсовое проектирование на с++ http://www.cyberforum.ru/cpp-beginners/thread171806.html
21. В цехе находятся 8 станков. Каждый станок имеет свое время обработки заготовки и свое количество материала в кг., уходящего в отходы. Каждая заготовка также имеет свои коэффициенты , влияющие на...
C++ Расположение конкретной точки на площине Помогите! Нужно написать программу С++. нужно ввести х, у і тогда программа должна если точка принадлежит кругу с радиусом 2 и центром в точке (0,0) вивести на екран true.и если наоборот то false.... http://www.cyberforum.ru/cpp-beginners/thread171803.html
Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент C++
по программе:дана целочисленная квадратная матрица.Определить количество отрицательных элементов в тех строках ,которые содержат хотя бы один нулевой элемент.
C++ Поиск в строке гласных и согласных
Доброго времени суток!Столкнулся с такой проблемой-нужно посчитать в строке количество гласных и согласных,проблема заключается в синтаксисе,просто не знаю как записать,а так по идее в другом языке...
C++ Как работают рекурсивные вызовы? http://www.cyberforum.ru/cpp-beginners/thread171789.html
здравствуйте. можете объяснить как работают рекурсивные вызовы. например : 1. когда вызывается дважды, что при этом происходит. что будет если написать некоторые операции до, между, или после их...
C++ Перестановка элементов массива В целочисленном массиве хранятся числа от 1 до n. Переставить числа так что бы a=j a=i. пример: до 4 2 1 3 после 3 2 4 1 a=4 a=1 a=2 a=1 a=3 a=3 подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
03.10.2010, 15:51
тогда вариант простым перебором
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
 
/*
Два числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа.
Например, 220 и 284 есть дружественные числа, так как делителями первого являются числа 1 2 4 5 10 11 20 22 44 55 110, сумма которых
равна 284, а делителями второго - числа 1 2 4 71 142, которые в сумме дают 220.
Напишите программу для отыскания заданного количества пар дружественных чисел.
*/
 
bool isfriendly(int x, int y){
    int sx = 0;
    for (int i = 1; i < x; ++i)
        if ( !(x % i) )
            sx += i;
 
    return ( sx == y ) ? true : false;
}
 
 
 
int main()
{
    int cnt = 50; //первые 50
 
    int i = 2;
    while (cnt){
        int j = 1;
        while( j < i ){
            if (isfriendly(j,i)){
                --cnt;
                std::cout << j <<"," << i << std::endl;
            }
            ++j;
        }
        ++i;
    }
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru