Czy umiesz potegowac

0

Strona zadania : http://pl.spoj.com/problems/PA05_POT/

public static void main (String[] args) throws java.lang.Exception {
	    Scanner input = new Scanner(System.in);
	    int D = input.nextInt();
	    long a, b;
	   
	    if(D > 1 && D < 10)
	        for (int i = 0; D > i; i++) {
	        	a = input.nextLong();
	        	b = input.nextLong();
	        	if(a < 1000000000 && b < 1000000000 && a > 1 && b > 1)
	        		System.out.println(((int)Math.pow(a%10, 4+b%4)%10));
	        }
	 }
0
  1. Nie musisz sprawdzać warunków zadania, to jest jedynie informacja dla Ciebie.
  2. Jak brzmi pytanie?
0

Pierwsza cyfra (2) oznacza ile dostaniesz liczb, więc trochę przesadziłeś z tymi warunkami.

W pierwszej linii wejścia znajduje się jedna liczba całkowia D (1≤D≤10), oznaczjąca liczbę przypadków do rozważenia

W odpowiedziach jest błąd, powinno być 27 a nie 7 :)

0
Patryk27 napisał(a):

Nie musisz sprawdzać warunków zadania, to jest jedynie informacja dla Ciebie.

Jak brzmi pytanie?

Bez warunków sprawdzających sędzia zaakceptował, dlaczego?
Rozumiem bez pierwszego warunku który ograniczał input do max. 9 liczb, ale 2gi warunek który dotyczył tylko i wyłącznie potęgi i wykładnika odnosił się do zadania.. (przecież to powinno być bez znaczenia)?

0

Twój drugi warunek nie miał za wiele wspólnego z poleceniem - w zadaniu są nierówności słabe.

0

Bez warunków sprawdzających sędzia zaakceptował, dlaczego?

Sędzia nie sprawdza warunków (liczby które wrzuca system spełniają warunki !) tylko sprawdza czy twój kod robi dobrze to co powinien!

System wrzuca dla sprawdzenia twojego kodu wrzuca wiele zestawów danych i sprawdza poprawność wyniku (i czas wykonania), tyle.

0

Nie odpowiedziałeś na pytanie, które zacytowałeś :-P - Patryk27 7 minut temu

Odpowiedziałem w 1 zdaniu, tyle, że użyłem skrótu myślowego.

Zimny Szczur

0

Nie znam dobrze SPOJ-a, nigdy nie korzystałem, ale czytałem na ich forum o ogólnych warunkach...

Pisząc: "Sędzia nie sprawdza warunków" - miałem na myśli, że olewa warunki if-else (czy są czy NIE MA w kodzie). Liczy się przyjęcie poprawnie inputu, wyrzucenie poprawnych odpowiedzi na output w odpowiedniej formie i czas wykonania kodu.

0

Rozumiem, dzięki za pomoc :)

0

Sędzia nie olewa żadnych instrukcji warunkowych, nie wiem o czym Ty wymyślasz.

Olewa ich istnienie, nie sprawdza czy są czy nie ma. Sędzia dred wykonuje oczywiście cały kod (absolutnie cały : ), ale nie wchodzi w szczegóły w co się w nim znajduje, itd.
Upraszczając: nie ważne jak napiszesz kod, ważne aby "wypluł" dobre wyniki i możliwie szybko.

Po prostu one nic nie robią, bo dane wejściowe /już są/ poprawne...

Trudno żeby były niepoprawne :) To oczywiste, ze są poprawne, chodziło mi o to, że ty w kodzie masz je wczytać w odpowiedni sposób (co akurat jest banalne). Sędzia korzysta ze strumienia standardowego.

...i zawierają się w tych instrukcjach.

Chyba chodziło Ci o (dopuszczalne) przedziały wartości zmiennych liczbowych, tak?

Zimny Szczur

0

OK. Kolega pytał czy musi wrzucać warunki sprawdzające czy dane są poprawne. Nie musi, bo dodane są poprawne :)

I w sumie na tym by można zakończyć. Wynika, że nie zrozumieliśmy się nawzajem (polska język trudna rzecz), ja pisałem może trochę pokrętnie, skracając myśl, ale w sumie Ciebie też do końca nie zrozumiałem ;) Ale chyba teraz już wszystko jasne?

Sędzia SPOJ-a to interpreter/kompilator który wykonuje cały kod i tyle, nie ocenia programu pod względem poprawności jako takiej (w tym nie sprawdza czy użytkownik zabezpieczył się przed błędami lub czy wartości są z przedziału dozwolonego w zadaniu, etc; Oczywiście jak program wysypie się na danych testowych to znaczy, ze programista nie zadbał o coś, np. dzielenie przez zero, no ale to chyba jest jasne.) Jak dla mnie temat jest wyczerpany ;)

0

Dla mnie również, w sumie odpowiedziałeś na pytania które jeszcze krążyły mi po głowie, dlatego jeszcze raz dzięki bardzo :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1