Загрузка...

Как ускорить код чтобы выполнялся менше 1 секунды?

Тема в разделе C# создана пользователем dfshsu 28 окт 2022. 289 просмотров

  1. dfshsu
    dfshsu Автор темы 28 окт 2022 57 11 сен 2021
    C#
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp1
    {
    internal class Program
    {
    static void Main(string[] args)
    {
    int a = int.Parse(Console.ReadLine());
    int b = int.Parse(Console.ReadLine());
    int c = int.Parse(Console.ReadLine());

    int i = 0;

    for (; a + c > b && b + c > a && b + a > c; i++)
    {
    a -= 1;
    b -= 1;
    c -= 1;
    }

    Console.WriteLine(i);

    }
    }
    }
     
  2. КотикЧерный
    КотикЧерный 28 окт 2022 Скинхэд из Новороссийска 774 3 мар 2019
    использовать нормальную тачку:)
     
  3. гриндер
    гриндер 28 окт 2022 Разработка софта, ботов - https://zelenka.guru/threads/6583046/ 1983 14 июл 2022
    заменить чем то Parse но не факт что быстее будет
     
    1. dfshsu Автор темы
  4. unafraid
    unafraid 28 окт 2022 14 21 окт 2022
    dfshsu, какие входные данные принимает программа?
     
    1. dfshsu Автор темы
  5. xmka
    xmka 28 окт 2022 26 8 фев 2019
    Так оно и выполняется меньше секунды, если не учитывать ввод цифр
    Вот код с эмуляцией ввода цифр и нажатия на Enter
    C#
    using System;
    using System.Diagnostics;
    using System.Windows.Forms;

    namespace ConsoleApp1
    {
    class Program
    {
    public static Stopwatch stopwatch = new Stopwatch();

    static void Main()
    {
    stopwatch.Start();

    SendKeys.SendWait("55");
    SendKeys.SendWait("{Enter}");
    int a = int.Parse(Console.ReadLine());

    SendKeys.SendWait("25");
    SendKeys.SendWait("{Enter}");
    int b = int.Parse(Console.ReadLine());

    SendKeys.SendWait("74");
    SendKeys.SendWait("{Enter}");
    int c = int.Parse(Console.ReadLine());

    int i = 0;

    for (; a + c > b && b + c > a && b + a > c; i++)
    {
    a -= 1;
    b -= 1;
    c -= 1;
    }

    Console.WriteLine(i);

    // Code End
    stopwatch.Stop();
    Console.WriteLine("Время: " + stopwatch.Elapsed.Days + ":" + stopwatch.Elapsed.Hours + ":" + stopwatch.Elapsed.Minutes + ":" + stopwatch.Elapsed.Seconds + ":" + stopwatch.Elapsed.Milliseconds);
    Console.WriteLine("Секунд: " + stopwatch.Elapsed.TotalSeconds);

    // End Program
    Console.WriteLine("Нажмите Enter, для закрытия программы");
    Console.ReadLine();
    }
    }
    }
    [IMG]
     
    1. vtlstolyarov
      xmka, нахера тебе эмуляция ввода цифр? просто запускай секндомер после того как введёшь данные а не перед тем как введёшь.
    2. xmka
      vtlstolyarov, потому что могу это сделать, что доказывает что даже с этим программа работает быстро
  6. dobvik
    dobvik 28 окт 2022 Новореги тоже люди! 255 10 май 2020
    Во-первых, писать правильно стилистически. А i вообще можешь убрать, чуть побыстрее будет. В приципе цикл на while заменить можно.
    --- Сообщение объединено с предыдущим 28 окт 2022
    while (a + c > b && b + c > a && b + a > c)
     
    28 окт 2022 Изменено
  7. Rokky27
    Rokky27 28 окт 2022 609 17 авг 2020
    вообще по идее у тебя сложность получается O(n^3). почитай про анализ сложности алгоритмов и будет тебе счастье.
     
Загрузка...
Top