Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2013, 02:42   #11
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Нашел косяк. Сравнение нужно было проводить после цикла. Спасибо. Если бы не написал про N=2, то Вы бы не указали на ошибку, и так бы все и осталось.
Код:
      for (int j=1;j<=n;j++) 
// тут происходит перемножение всех элементов, кроме К-того
      {
        multiplication=j==k ? multiplication : multiplication*Array[j];
// если произведение всех сомножителей, кроме первого, меньше полного квадрата
// i-того числа, значит полный квадрат "i+1" будет тоже больше произведения, и дальше
// производить поиск бесполезно
        if (multiplication<i*i&&k==1) breakdown=true;
      }
p.s. Заменил __int64 на long double у массива и multiplication. Уже как 2 часа прога отрабатывает в лоб цикл i<=9223372036854775807 при N=10 на i7.
При N=8 рез-ты:
Цитата:
vvedite N
8
1 element =1
2 element =2
3 element =6
4 element =24
5 element =120
6 element =720
7 element =5040
8 element =40320
i=14515200; i*i=210691031040000; multiplication=2.10691e+14; k=4; Array[k]=24
i=29030400; i*i=842764124160000; multiplication=8.42764e+14; k=3; Array[k]=6
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 21.03.2013 в 03:58.
Rin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access violation at address in module "Project1.exe"... NewLamer&Programer Помощь студентам 12 23.11.2012 14:54
Ошибка: "Access violation at address 004035BE in module Project1" haker270 Общие вопросы Delphi 4 25.04.2012 22:33
Ошибка "Access violation at address 004043A8 in module 'Project1.exe'. Read of address 00FF5A53." ms.Karishka Общие вопросы Delphi 6 14.04.2011 22:18
Ошибка: " class EAccessViolatiossViolation with n with message 'Access violation at address 0052D1D5..." lutdan Помощь студентам 4 02.04.2011 04:29
Ошибка "Acces violation" в чем может быть причина TRIZER Общие вопросы Delphi 2 02.05.2010 12:10