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

Za duze liczby silni

Object Storage Arubacloud
0 głosów
231 wizyt
pytanie zadane 13 stycznia 2018 w C i C++ przez Admin Cpp Początkujący (350 p.)

Witam, zwracą się ponownie z prośba o pomoc otóż:
 

long double silnia(long double n)

{

    if(n==1||n==0) return 1;

    else return n*silnia(n-1);

}

int main()

{

    cin>>test;

    system("cls");

    for(int i=1; i<=test; i++)

    {

        cin>>n;

        system("cls");

        stringstream ss;

        ss<< silnia(n) <<endl;

        string liczba= ss.str();

        long double a=liczba.length();

        if (a-3<0)

        cout<<"0"<<" "<<liczba[a-2]<<endl;

        else

        cout<<liczba[a-3]<<" "<<liczba[a-2]<<endl;

    } return 0;

}



long double silnia(long int n)
{
    if(n==1||n==0) return 1;
    else return n*silnia(n-1);
}

int main()
{
    cin>>test;
    system("cls");
    for(int i=1; i<=test; i++)
    {
        cin>>n;
        cout<<silnia(n)<<endl;
        stringstream ss;
        ss<< silnia(n) <<endl;
        string liczba= ss.str();
        long double b=liczba.length();
        if(b>3)
        {
            for(int i=1; i<b; i++)
            {
                a=silnia(n)/10;
            }
            cout<<a;
            unsigned result=a;
            unsigned last = result % 10;
            unsigned next = result / 10;

        }
        else
        {
            unsigned result=silnia(n);
            unsigned last = result % 10;
            unsigned next = result / 10;
            cout<<next<<" "<<last<<endl;
        }

    }
    return 0;
}

Dostałem super podpowiedż odnośnie zakończenia zadania w serwisie Spoj. Niestety jednak pozastje mi problem silni, gdyż nie wiem jak uzyskać ogormne liczby np 999999! i wyciagnąc z niej tylko cyfry dziesiątek i jedności. Starałem się to jakoś ogarnąć tworzac ulepszona wersję programu (2 załączony program).  Ale niestey nie działa na silnię. Bardzo bym prosił o pomoc. Dopiero się ucze programować, dlatego prosiłbym o pomoc i szczegółowe rozwiązanie problemu.

Bardzo dziękuje i pozdrawiam :)

1 odpowiedź

+1 głos
odpowiedź 13 stycznia 2018 przez Aisekai Nałogowiec (42,190 p.)
Nie musisz uzyskiwać 9999! Napisz sobie pare(naście) wyników silni (od 0 do np 15) i zauważ sobie pewną regułę.
komentarz 13 stycznia 2018 przez Admin Cpp Początkujący (350 p.)
Rouzmiem już swój błąd, czy mógłbyś mi podpowiedziec jak zablokować liczenie silini od n dla n>11?
komentarz 14 stycznia 2018 przez Aisekai Nałogowiec (42,190 p.)
Ifem? :D

Podobne pytania

0 głosów
1 odpowiedź 212 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez Admin Cpp Początkujący (350 p.)
0 głosów
6 odpowiedzi 852 wizyt
pytanie zadane 14 maja 2016 w C i C++ przez DeBos123 Nałogowiec (44,950 p.)
0 głosów
2 odpowiedzi 383 wizyt
pytanie zadane 19 grudnia 2022 w C i C++ przez Zuzan Początkujący (390 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...