Początki, pytanie o licznik zapytań

0

Cześć,

zaczynam więc proszę o wyrozumiałość :-)

Mam kod na proste liczenie potęg;

wynik = 1
a = int(input() )
b = int(input() )

while b > 0 :
    wynik *= a
    b = b-1
print (wynik)

Chciałem dodać ilość testów do wykonania i powiem szczerze, że nie wiem jak i gdzie :-(
( for i in range(0, zestawy, +1): ) ???

1

Można np. tak:

test_cases = int(input())
for i in range(test_cases):
    #tu Twój kod

PS. Zamiast b = b-1 można b -= 1

0
Serechiel napisał(a):

Można np. tak:

test_cases = int(input())
for i in range(test_cases):
    #tu Twój kod

PS. Zamiast b = b-1 można b -= 1

Ostatecznie taki kod mam i działa:-)

test_cases = int (input ())
for i in range (test_cases):
    a = int(input())
    b = int(input())
    wynik=(a**b)
    print (wynik%10)

modulo dodawałem bo potrzebowałem odciąć liczbę jedności

0

Jeszcze dopytam:)
takie zadanie:
https://pl.spoj.com/problems/PA05_POT/

No i pokazuje mi błąd wykonania:)
Ktoś widzi błąd?

0
def power(a,b):
  base = a
  for i in range(1, b):
    a = a * base
  return a

na przyklad tak jezeli chcesz wprowadzic dotatkowa zmienna

0
test_cases = int (input ())
for i in range (test_cases):
    a,b  = map(int, input())
    print ( (a** b) %10)

Ale to nadal nie zda czasu wykonania na SPOJu bo jest to zagadnienie z własności matematycznej, dlatego przekroczy czas wykonywania.

Zapoznaj się z tym:
https://brilliant.org/wiki/finding-the-last-digit-of-a-power/

0

Tak wiem, dzięki za link.
Ostatecznie przeszedł taki kod.
Wykorzystałem ostatnie cyfry wyników, które się powtarzają.

tab = [[0, 0, 0, 0],
       [1, 1, 1, 1],
       [6, 2, 4, 8],
       [1, 3, 9, 7],
       [6, 4, 6, 4],
       [5, 5, 5, 5],
       [6, 6, 6, 6],
       [1, 7, 9, 3],
       [6, 8, 4, 2],
       [1, 9, 1, 9]]
 
test_cases = int(input())
for i in range(test_cases):
    a, b = map(int, input().split())
 
    print(tab[a%10][b%4])

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