Jeżeli jesteś w stanie zaproponować sensowne rozwiązanie rekurencyjne dla tego problemu to dlaczego nie? Sytuacja jest o tyle prosta, że sensowne rozwiązanie oznacza jedynie AC czyli ma wyłącznie mieścić się w jakimś limicie czasowym i działać zaledwie dla wybranych, podanych w treści zadania liczb. A jeżeli będzie ono lepsze od ifów to chętnie je poznam.
1 year later
Coś słabo czytałeś. Ile zajmie ci wykonanie programu dla tego testu?
10
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
Poza tym twój program daje złe wyniki: https://ideone.com/c7ZvlY5
2 months later
Ktoś wie czemu spoj mi tego nie zalicza?
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,liczba, y, d, j;
string x;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>liczba;
if(liczba<4)
{
if(liczba==0) cout<<0<<" "<<1<<endl;
else cout<<0<<" "<<liczba<<endl;
}
else if(liczba<10)
{
if(liczba==4) cout<<2<<" "<<4<<endl;
else if(liczba==5||liczba==6||liczba==8) cout<<2<<" "<<0<<endl;
else if(liczba==7) cout<<4<<" "<<0<<endl;
else if(liczba==9) cout<<8<<" "<<0<<endl;
}
else
{
cout<<0<<" "<<0<<endl;
}
}
return 0;
}
4 years later
Hej, a wie ktoś czemu mi wyrzuca timeout?
#include <iostream>
#include <math.h>
using namespace std;
int wynikSilni = 1;
int silnia(int liczba) {
if(liczba == 0 || liczba == 1) return wynikSilni;
return liczba * silnia(liczba-1);
}
int ile;
int main() {
cin >> ile;
int tab[ile];
int rozdzielona[2];
for (int i = 1; i <= ile; i++) {
cin >> tab[i];
string wynik = to_string(silnia(tab[i]));
int jednosci = wynik.length() - 1;
int dziesiatki = wynik.length() - 2;
if(wynik[dziesiatki] == NULL) {
wynik[1] = wynik[jednosci];
wynik[0] = '0';
dziesiatki++;
jednosci++;
}
cout << wynik[dziesiatki] << " " << wynik[jednosci] << endl;
}
}
Masz rację, liczby pierwsze i silnia biją rekordy dodałbym do tego jeszcze “Czy umiesz potęgować”.
Kilka lat temu przeczytałem na jakimś forum, że SPOJ jest beznadziejny, bo odrzucają dobre rozwiązania zadań. Podał przy tym przykład swojego “dobrego” rozwiązania. Zaciekawiło mnie to, wszedłem na SPOJ i tak to się dla mnie zaczęło…