Witam, jakiś czas temu wróciłem do zadanek ze spoja i przy ww. zadaniu sędzia stwierdza błędną odpowiedź. Czy ktoś mógłby zerknąć na mój kod i ewentualnie powiedzieć co tu jest nie tak? Robiłem różne testy i nie widzę błędu w tym kodzie, ale muszę się jeszcze Was poradzić :). Z góry dzięki za jakieś sugestie
0
1
zamiast tego switch
case
umieść wyniki w tablicy.
Kod skróci się do paru linijek.
Zauważ, że tak naprawdę obliczasz:
0
Sprawdź sobie z tym: https://zapytaj.onet.pl/Category/006,003/2,21355595,Jak_wyznaczac_ostatnia_cyfre_potegi_liczby_naturalnej_o_bardzo_duzym_wykladniku.html?utm_source=zapytaj_viasg&utm_medium=nitro&utm_campaign=zapytaj_nitro ,
ale z tego co pammietam, to tam, żeby się zmieścić w czasie, wystarczy zastosować potęgowanie modulo (nie mam pojęcia czy jest w bibliotece standardowej).
0
Tyle wystarczy (upośledzony gotowiec
- działa poprawnie, licz nie do pokazania prowadzącemu):
#include <stdio.h>
int main()
{
for(unsigned T,a,b=scanf("%u",&T);T--;printf("%c\n",(10*(b&3)+(a%10))["0161656161012345678901496569410187456329;P"])) scanf("%u%u",&a,&b);
return 0;
}