Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int ultimaCifra (int a, int b) {
- // daca a e 0 sau 1, ultima cifra va fi 0, respectiv 1
- if (a == 0) return 0;
- if (a == 1) return 1;
- // v[i] - cate posibilitati de ultima cifra are i^n
- int v[10] = {0, 1, 4, 4, 2, 1, 1, 4, 4, 2};
- // ultima cifra a lui ua^b este si ultima cifra a lui a^b
- int ua = a % 10;
- if (ua == 0) return 0;
- if (ua == 1) return 1;
- // ridicam pe ua la puterea b % v[ua], deoarece ultima cifra este periodica
- int pow = b % v[ua], uc = 1;
- if (pow == 0) pow = v[ua];
- for (int i = 0; i < pow; i++) {
- uc *= ua;
- }
- return uc % 10;
- }
Advertisement
Add Comment
Please, Sign In to add comment