Консультации

Как можно превысить максимальное время работы без зацикливания?

Как можно превысить максимальное время работы без зацикливания?

от Максим Шишкин -
Number of replies: 3
Решил задачу №333. Четные числа минуты за две. Посылаю и опа превышено максимальное время работы в одном из тестов. Ну думаю зацикливание. Исключил его if. Теперь в мою программу можно пихать любые числа все равно результат будет нужный. Но это не помогло. Сделал сначала проверку на четность потом все остальное. Реакции 0. Как заставить такую прогу долго выдавать результат я не знаю.
In reply to Максим Шишкин

Re: Как можно превысить максимальное время работы без зацикливания?

от Максим Шишкин -
Вот прога    
    import java.util.Scanner;
public class prosto {
  public static void main (String args[]){
        long i,a,b,sub; 
          Scanner scan = new Scanner(System.in);
            a = scan.nextInt();
            b = scan.nextInt();       
            if(b<0){
              if(a>b){ sub=a;a=b;b=sub;};
              if(a%2!=0){a=a+1;};
              for(i=a;i<=b;i=i+2){             
                  System.out.print(i+" ");
              }     
            }else{
              if(a>b){ sub=a;a=b;b=sub;};
              if(a%2!=0){a=a+1;};
                for(i=a;i<=b;i=i+2){           
                    System.out.print(i+" ");
                }
                }         
          }
      }
In reply to Максим Шишкин

Re: Как можно превысить максимальное время работы без зацикливания?

от Григорий Резников -
Думаю, тут виновата тормознутость Java при выводе большого количества данных.

Чтобы этого избежать, попробуйте сделать так http://informatics.mccme.ru/mod/resource/view.php?id=210

P.S Там внизу сравнение по времени Scanner и StreamTokenizer, подтверждающий вышесказанное.
In reply to Григорий Резников

Re: Как можно превысить максимальное время работы без зацикливания?

от Георгий Кинёв -
А как можно сделать это же на Паскале?
У меня та же ерунда с "превышением лимита времени"
8-[