Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
PinkBrain
0 / 0 / 0
Регистрация: 02.12.2016
Сообщений: 16
1

Как ограничить время выполнения программы?

04.03.2017, 21:00. Просмотров 258. Ответов 2
Метки нет (Все метки)

Добрый день!
Задали написать программу, следующего содержания:
"Для натурального числа сумма знакопеременного натурального ряда до числа n определяется:
Сумма=-1+2-3+...+n*(-1)^n
Найдите сумму для данного натурального числа n.
Во входном файле записано натуральное число n (1 <= n <= 10^15). Вывести результат-найденную сумму."
При этом существует важное ограничение в условии:"Ограничение по времени на тест 1 seconds (ограничение по памяти на тест 64 megabytes)"
Я написал работающую программку:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    long long s, n;
    int i, p;
    FILE *inf;
    inf = fopen("input.txt", "rt" );
    fscanf(inf, " %lli", &n);
    s=0;
    p=1;
    for(i=1; i<=n; i++)
    {
        p=-p;
        s+=p*i;
    }
    printf("%lli\n", s);
    return 0;
}
но время её выполнения порядка 4-5 секунд при больших значениях n. Я так понимаю упрощение предполагает под собой избавление от цикла, но я не имею понятия как это осуществить. Прошу помощи!
Заранее Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2017, 21:00
Ответы с готовыми решениями:

Измерить время выполнения программы
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; main () { FILE *in; FILE *out; ...

Задать время выполнения программы
Нужно, чтобы некоторый код выполнялся в течение 5 минут, а после выводились результаты его...

Как измерить время выполнения программы с использованием RDTSC
Мне нужно используя RDTSC (как я понял, это ассемблерной вставкой делать нужно) посчитать время...

Нужно уменьшить время выполнения программы
Здравствуйте! Помогите, пожалуйста. Нужно уменьшить время выполнения программы, как это можно...

Задание размера массива после его объявления во время выполнения программы
Ребята, подскажите, как задать размер массиву во время выполнения. Я напишу пример на java - нужно...

2
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
04.03.2017, 21:23 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    long long n;
    FILE *inf = fopen("input.txt", "rt");
    fscanf(inf, "%lli", &n);
    if(n % 2)
        printf("%lli\n", (n - 1) / 2 - n);
    else
        printf("%lli\n", n / 2);
    return 0;
}
1
PinkBrain
0 / 0 / 0
Регистрация: 02.12.2016
Сообщений: 16
04.03.2017, 21:32  [ТС] 3
Спасибо большое, спасли!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2017, 21:32

Во время выполнения программы вылетает ошибка "The variable 'x' is being used without being initialized"
нужно найти &quot;y&quot; со значениями от -9 до 9 в итоге я сделал программу, при обработке выдает формула...

Как засечь время выполнения функции?
Упражнение 3.1 K&amp;R как новичку без серьезных описаний и дополнений кода засечь время выполнения...

Мьютексы-потоки: Как задать время выполнения потока
Подскажите пожалуйста насчет следующих вопросов, сам не разобрался. 1. Как задать время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru