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

question-closed SPOJ czy umiesz potęgować - błąd wykonania [Python i CPP]

Object Storage Arubacloud
0 głosów
789 wizyt
pytanie zadane 4 stycznia 2018 w C i C++ przez Milesq Nałogowiec (32,020 p.)
zamknięte 4 stycznia 2018 przez Milesq

Zadanie niby proste, kod działa a sędzia zgłasza "błąd wykonania"

już kolejne zadanie tak jest, to na pewno jest mój błąd?

def sizeTab(tab):
	o = 0
	for i in tab:
		o += 1
	return o

from math import pow as power

iterations = int(input())

i = 0
tab = []

while i<iterations:
	put = input().split()
	a = int(put[0])
	b = int(put[1])
	tab.append(power(a,b))
	i += 1

a = sizeTab(tab)-1
i = 0

while a >= i:
	print(int(tab[i]))
	i += 1

 

#include<iostream>
#include<vector>
#include<math.h>

using namespace std;

int main() {

    int iterations = 0;
    cin>>iterations;

    int i = 0, a, b;
    vector<int>tab;

    for(i=0;i < iterations;++i) {
     cin>>a>>b;
     tab.push_back(power(a, b));
    }

    a = tab.size() - 1;
    i = 0;

    while(a >= i) {
        cout<<tab[i]<<endl;
        ++i;
    }

 return 0;
}

 

komentarz zamknięcia: Padła najlepsza odp

2 odpowiedzi

+1 głos
odpowiedź 4 stycznia 2018 przez niezalogowany
wybrane 4 stycznia 2018 przez Milesq
 
Najlepsza
Zadanie nie jest aż tak banalne. Zwykłe zmienne typu int nie pomieszczą wyniku działania 1'000'000^1'000'000. Nawet jeżeli wspomożesz się jakimś typem liczbowym, który na to pozwoli to zajmie to zbyt dużo czasu. Musisz domyślić się jak zrobić je szybciej bez korzystania z potęgowania. Zastanów się od czego zależy ta ostatnia cyfra, rozpisz sobie wyniki itp.

PS. Spoj odróżnia wejście od wyjścia, więc nie potrzebujesz wszystkich danych zapisywać do tablicy. Możesz od razu liczyć wynik i go wypisywać.
+1 głos
odpowiedź 4 stycznia 2018 przez Aisekai Nałogowiec (42,190 p.)
Na pewno.

Na 99% przekraczasz gdzieś zakres zmiennej. Gdzie? Pewnie przy potegowaniu. Ale łatwiej byłoby pomóc jakbyś link do zadania podał

Podobne pytania

0 głosów
1 odpowiedź 271 wizyt
0 głosów
2 odpowiedzi 313 wizyt
pytanie zadane 7 lutego 2023 w SPOJ przez Tactykalier Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 412 wizyt
pytanie zadane 28 października 2021 w C i C++ przez DrTomas Nowicjusz (140 p.)

92,539 zapytań

141,382 odpowiedzi

319,481 komentarzy

61,928 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!

...