СВ
Светлана Вертелина

помогите решить задачу на с++

условие - найти все пары дружественных чисел в диапазоне от 200 до 900. Вот мое решение, компилятор ошибок не нашел, однако числа не выводятся, предполагаю что ошибка в условиях... но не знаю как это исправить=(

int main()
{ int i,k,j,d;
long h,g;
int res1,res2;
res1=0;
res2=0;
h=0;
g=0;

m2:for (i=200;i<=900;i++)
{
for (k=1; k*k

ЮА
Юлечка Александрова

Тупо перебором, выведет все пары искомых чисел в диапазоне от 1 (LOW) до 6000 (HI), работает очень медленно (у меня около 2-х минут) :

#include

#define LOW 1
#define HI 6000

int main() {
for (int n1 = LOW; n1 < HI - 1; ++n1) {
int s1 = 0;
for (int d1 = 1; d1 <= n1 / 2; ++d1) if ( !(n1 % d1) ) s1 += d1;
for (int n2 = n1 + 1; n2 < HI; ++n2) {
int s2 = 0;
for (int d2 = 1; d2 <= n2 / 2; ++d2) if ( !(n2 % d2) ) s2 += d2;
if (s1 == n2 && s2 == n1) std::cout << n1 << ' ' << n2 << std::endl;
}
}
return 0;
}

ЗЫ: в диапазоне от 200 до 900 только одна пара дружественных чисел: 220, 284

АС
Александр Савельев

код на pastebin.com, а сюда - ссылку.

Похожие вопросы
Помогите решить задачу по С# :-)
Помогите решить задачу по С++))))))
Помогите решить задачу на С
Помогите решить задачу по С++
помогите решить задачу по С#
Помогите решить задачу по С++.
с ++помогите решить задачу
помогите решит задачу по с++
Помогите решить задачу!! С++
помогите решить!! задачи по с++!!