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

Найти дружественные числа, принадлежащие отрезку [1; 10000] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Футбол. Какая команда покинет высшую лигу? сделате! http://www.cyberforum.ru/cpp-beginners/thread279903.html
Помогите пожалуйста. 1. Даны список футбольных команд высшей лиги России и количество очков, набранных каждой командой в чемпионате России. Известно, что нет команд с равным числом очков, а две...
C++ Использование функций и структур Имеется две задачки, скажу честно , еще не решал...не успеваю...пожалуйста, уважаемые программисты помогите..буду очень признателен... Использование функций. 3. Описать функцию NMin(A,N) целого... http://www.cyberforum.ru/cpp-beginners/thread279887.html
C++ Определить является ли квадратная матрица симметричной
не получается решить.. Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержимое.
C/C++)не ищет сумму! +скобки не могу правильно расставить( C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: − номер минимального элемента массива; − сумму элементов массива, расположенных между первым и вторым отрицательными...
C++ Подсчет цифр и букв http://www.cyberforum.ru/cpp-beginners/thread279865.html
Народ, есть такая проблема! Мне нужно написать прогу, которая считывает текст из файла и определяет чего больше: цифр или букв. Я сделал её, но она работает только для одной строки, а мне нужно для...
C++ ostream Вот мой класс: class BigInt { int Size; // Size - текущая длина (истинная длинна числа) int SizeMax; // SizeMax - максимальная длина int *Coef; // Массив... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
16.03.2015, 22:28
вот не совсем перебор
создаю таблицу
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
#include <iostream>
#include <time.h>
int main()
{
const int N=100000;
int* arr=new int[N+1];
 
double start = clock() * 1.0 / CLOCKS_PER_SEC;
 
for(int i=0;i<=N;i++)
{
arr[i]=0;
}
 
 
for(int i=1;i<=N;i++)
{
 
for(int j=i+i;j<=N;j+=i)
    arr[j]+=i;
}
for(int i=1;i<=N;i++)
{
if(arr[i]<=N && arr[i]!=i && arr[arr[i]]==i)
  std::cout<< arr[i]<<"  "<<i<<std::endl;
 
}
 
 
delete []arr;
 
double end = clock() * 1.0 / CLOCKS_PER_SEC;
  std::cout << end - start << "sec" << std::endl;
 
return 0;
 
}
для 100000 0.03 сек
для 100000000 48 секунд
недостаток выводит парами
например
220 284
284 220
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru