Witam,
Otóż mam pewien problem. W zadaniu “Czy umiesz potęgować” http://pl.spoj.com/problems/PA05_POT/ należy stworzyć program który wypisze cyfrę jedności danej potęgi. Problem polega na tym, że mimo iż uwzględniłem chyba wszystkie przypadki jakie mogą wystąpic, a mój program działa poprawnie sędzia nie akceptuje kodu.
Jakieś porady? Podpowiedzi? Naprawdę czuję się bezradny.
Oto kod:
#include <iostream> #include <cstdio> #include <cstdlib> #include <sstream> using namespace std; int liczby[10][10] = { {1,1,1,1,1,1,1,1,1,1}, {2,4,8,6,2,4,8,6,2,4}, {3,9,7,1,3,9,7,1,3,9}, {4,6,4,6,4,6,4,6,4,6}, {5,5,5,5,5,5,5,5,5,5}, {6,6,6,6,6,6,6,6,6,6}, {7,9,3,1,7,9,3,1,7,9}, {8,4,2,6,8,4,2,6,8,4}, {9,1,9,1,9,1,9,1,9,1}, {0,0,0,0,0,0,0,0,0,0}}; int main() { int t; cin >> t; for(int i=0;i<t;i++) { int p,w; string pod,wyk; cin>>p>>w; ostringstream ss; ss << p; pod = ss.str(); ostringstream sa; sa << w; wyk = sa.str(); int dlugoscp = pod.length(); int dlugoscw = wyk.length(); if(w==0) { p = 1; w = 1; cout << "1" << endl; continue; } else if(p==0) { `p = 10; w = 1; cout << "0" << endl; continue; } pod = pod[dlugoscp-1]; wyk = wyk[dlugoscw-1]; istringstream podstawa(pod); podstawa >> p; istringstream wykladnik(wyk); wykladnik >> w; cout << liczby[p-1][w-1] << endl; } return 0; }
created
last reply
- 2
replies
- 372
views
- 2
users
- 2
links