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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2015, 21:43   #1
cosmopolit
Пользователь
 
Аватар для cosmopolit
 
Регистрация: 06.01.2014
Сообщений: 26
По умолчанию Проблема с временем выполнения программы

Задачка с асма - Факториалы !!!
Джавовский код, проходит все проверки, но не укладывается по времени.
Код:
        Scanner scanner = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);

        int value = scanner.nextInt();
        int key = scanner.nextLine().length() - 1;

        if(((value >= 1) && (value <= 10))&&((key >= 1) && (key <= 20)))
            {
                int result = value;
                int i = 1;
                if(value % 2 != 0)
                {
                    while(((value - key * i) / key != 0) || (value - key * i >= 0))
                    {
                        result *= value - key * i;
                        ++i;
                    }
                }
                else
                {
                    while((value - key * i) >= key)
                    {
                        result *= value - key * i;
                        ++i;
                    }
                }
                out.println(result);
                out.flush();
            }
    }
cosmopolit вне форума Ответить с цитированием
Старый 03.08.2015, 09:12   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

если считаются факториалы очень больших чисел а время в миллисекундах ограничено, рекомендую уменьшить число операций и убрать сам цикл при расчёте факториала.
Если воспользоваться формулой приближённого исчисления факториала

можно вклинится в отведённые интервалы времени

более подробно о факториале и его расчёте вот тут http://ru.math.wikia.com/wiki/Факториал
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VB 6.0 проблема с временем и датой Vovka91 Помощь студентам 5 19.12.2011 06:24
Результат выполнения программы g001501 Общие вопросы C/C++ 19 03.11.2010 21:16
Проблема с датой и временем Amen PHP 8 17.10.2009 22:11
Время выполнения программы Zhamie Общие вопросы Delphi 8 15.09.2009 15:26
проблема со временем marat07 БД в Delphi 8 27.08.2007 09:54