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

Zadanie ze SPOJ'a i niezrozumiała funkcja

Mały hosting, OGROMNE możliwości
0 głosów
253 wizyt
pytanie zadane 5 października 2016 w C i C++ przez Sebastian Użytkownik (520 p.)

Witam. Mam problem z zadaniem ze SPOJ'a. Znalazłem taki kod i nie wiem jak działa funkcja jednosc. Czy mógłby mi ktoś wytłumaczyć dlaczego jest to zrealizowane tak, a nie inaczej? Z góry dziękuję za odpowiedź ;)

 

#include <iostream>

using namespace std;

int jednosc(unsigned long long, unsigned long long);

int main()
{
    int n;
    unsigned long long a, b;
    cin >> n;

    for(int i=0; i<n; i++)
    {
        cin >> a >> b;
        cout << jednosc(a, b) << endl;
    }

    return 0;
}

int jednosc(unsigned long long a, unsigned long long b)
{
    if(b==0) return 1;
    else if(b==1) return (a%10);
    else if((a%10)==1) return 1;
    else if((a%10)==5) return 5;
    else if((a%10)==6) return 6;
    if( ((a%10)==2) || (a%10)==3 || ((a%10)==7) || ((a%10)==8) ) b=(b%4)+4;
    if( ((a%10)==4) || (a%10)==9 ) b=(b%2)+2;
    a%=10;
    int x=a;

    for(unsigned int i=1; i<b; i++)
    {
        x*=a;
        x%=10;
    }
    return x;
}

 

komentarz 5 października 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Ale czemu szukasz gotowych kodów, zamiast spróbować napisać swój?
komentarz 5 października 2016 przez criss Mędrzec (172,570 p.)

Witam. Mam problem z zadaniem ze SPOJ'a. 

Bo na spoj jest tylko jedno zadanie... 

Domyslam sie, że chodzi o "czy umiesz potegowac" (anyway lepiej nie zakladac ze czytamy w myslach). Odpowiedź masz tutaj : http://zapytaj.onet.pl/Category/006,003/2,17707157,Jak_wyznaczac_ostatnia_cyfre_potegi_liczby_naturalnej_o_bardzo_duzym_wykladniku.html

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 560 wizyt
pytanie zadane 29 października 2016 w C i C++ przez thekibi27 Bywalec (2,110 p.)
0 głosów
2 odpowiedzi 530 wizyt
pytanie zadane 3 października 2018 w C i C++ przez donekdzwonek Początkujący (420 p.)
0 głosów
2 odpowiedzi 777 wizyt
pytanie zadane 2 marca 2017 w C i C++ przez piter11251 Obywatel (1,300 p.)

93,719 zapytań

142,632 odpowiedzi

323,264 komentarzy

63,266 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...