• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ - Czy potrafisz potęgować?

Object Storage Arubacloud
0 głosów
409 wizyt
pytanie zadane 20 maja 2017 w SPOJ przez Jedyn Obywatel (1,200 p.)

Witam. Napisałem zadanie z potęgowaniem, wszystko wydaje mi się działać poprawnie. Przeprowadziłem dużo podchwytliwych testów a spoj rzuca mi: błąd wykonania (NZEC).Kompilator Java(HotSpot 8u112)
Kod, oczywiście niepełny: 
 

public static void main(String[] args) throws IOException {
        int a=0;
        int b=0;

        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext())
        {
            a = scanner.nextInt();
            b = scanner.nextInt();
            break;
        }
			 System.out.printf(String.valueOf(pModularne(a,b)));


    }

 

komentarz 20 maja 2017 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Twój kod mi nic nie mówi zbytnio, bo ja nie JAVA, ale wiem że w tym zadaniu większość osób ma problem, że potęgowanie wykracza poza wartości longów, a co dopiero intów ;)
komentarz 21 maja 2017 przez Jedyn Obywatel (1,200 p.)
U mnie nie ma z tym problemu,  dla 100 000 000 i wykladniku 999 999 999 wynikiem jest 1. Z tym, że spoj coś nie chce przyjąć tego programu. Ale już wiem że trzeba to zrobić trochę inaczej :)
komentarz 21 maja 2017 przez vector Dyskutant (9,200 p.)

Rozwiązaniem Twoich problemów jest szybkie potęgowanie modularne.

komentarz 21 maja 2017 przez Jedyn Obywatel (1,200 p.)
I takie właśnie zastosowałam, funkcja pModularne = potegowanie modularne i dalej błąd nzec. Myślę że może być problem z metodą wprowadzania danych jaka zastosowałem
komentarz 21 maja 2017 przez vector Dyskutant (9,200 p.)

Masz rację wejście jest niepoprawnie zrobione. Twoja metoda jest prawie dobra musisz tylko wciągnąć liczbę przypadków testowych i powinno działać.

public static void main (String[] args) throws java.lang.Exception
{
    int a=0;
    int b=0;
    
    Scanner scanner = new Scanner(System.in);
    a = scanner.nextInt();
    while(scanner.hasNext())
    {
        a = scanner.nextInt();
        b = scanner.nextInt();
        System.out.println(String.valueOf(pModularne(a,b)));
    }
}

 

komentarz 21 maja 2017 przez Jedyn Obywatel (1,200 p.)
Właśnie nie wiem jak mam ten program przerobić ,żeby działał. Czytałem jeszcze, że jako input trzeba dać BufferReader'a.
komentarz 21 maja 2017 przez vector Dyskutant (9,200 p.)
Ten kod który wysłałem w komentarzu jest poprawny, sprwadziłem wysyłając na spoja i przechidzi.

1 odpowiedź

+1 głos
odpowiedź 20 maja 2017 przez Muminek Dyskutant (8,650 p.)

Wejście
W pierwszej linii wejścia znajduje się jedna liczba całkowia D (1≤D≤10), oznaczjąca liczbę przypadków do rozważenia. Opis każdego przypadku podany jest w jednym wierszu, zawierającym dwie liczby naturalne a i b oddzielone pojedynczym odstępem (spacją), takie, że (1 ≤ a,b ≤ 1 000 000 000).

Czy Twój program jest w stanie takie liczby spotęgować? Przeprowadziłeś za mało podchwytliwych testów.

Popatrz co program ma zrobić:

Wyjście
Dla każdego przypadku z wejścia Twój program powinien wypisać (w osobnej linii dla każdego przypadku z wejścia) cyfrę jedności liczby abzapisanej dziesiętnie.

 

Teraz zadaj sobie ważne pytanie: czy koniecznie muszę wykonać operacje potęgowania?

A potem będzie wszystko działało :)

 

Podobne pytania

0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 10 stycznia 2018 w SPOJ przez niezalogowany
0 głosów
2 odpowiedzi 374 wizyt
0 głosów
2 odpowiedzi 324 wizyt
pytanie zadane 7 lutego 2023 w SPOJ przez Tactykalier Nowicjusz (200 p.)

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...