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

dwie cyfry silni polski spoj

Object Storage Arubacloud
0 głosów
2,005 wizyt
pytanie zadane 12 sierpnia 2018 w C i C++ przez fafel Nowicjusz (140 p.)

Witam mógłby mi ktoś wytłumaczyć co zrobiłem źle pojawia mi się komunikat że przekroczyłem limit czasu ...?

#include <iostream>

using namespace std;


int silnia(int a)
{
    if (a == 1) return 1;
    else return a = a*silnia(a-1);
}

int main()
{
    int a,b;
    cin>>a;
    for(int i=0;i<a;i++)
    {
        cin>>b;
        if(b<=9)
        {
            cout<<(silnia(b)%100)/10<<" "<<silnia(b)%10<<endl;
        }
        else
        {
            cout<<"0 0"<<endl;
        }
    }
}

 

2 odpowiedzi

+1 głos
odpowiedź 12 sierpnia 2018 przez niezalogowany

Nie uwzględniasz, że 0! = 1

Liczbę n! (czytaj n-silnia) definiuje się następująco. Jeśli n ≤ 1, to n! = 1

–1 głos
odpowiedź 12 sierpnia 2018 przez skankhunt42 Obywatel (1,170 p.)
Kiedyś robiłem to zadanie i z tego co kojarzę to trzeba do tego podejść sprytnie. Z silnią jest taki problem że liczby w niej rosną bardzo szybko przez co nie mieszczą się w zmiennych. Zauważ jednak że wszystkie silnie większe od 9! kończą się na 00. Dlatego najlepiej stworzyć warunek który w razie liczby większej od 9 nie liczy silni tylko od razu podaje 00
komentarz 12 sierpnia 2018 przez skankhunt42 Obywatel (1,170 p.)
Głupi jestem bo to już zrobiłeś. W takim razie to co napisała poprzednia osoba jest prawdziwe
komentarz 14 sierpnia 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)
-1 za spoiler.
komentarz 14 sierpnia 2018 przez skankhunt42 Obywatel (1,170 p.)
jaki spoiler? rozumiem że mogłem dostać -1 za to że nie analizowałem kodu który podał fafel i nie odpowiedziałem poprawnie na pytanie bo błędnie założyłem że jak ktoś ma problem z tym zadaniem to nie dostrzegł że należy dla liczb większych od 9 dać 00 bo zresztą sam z tym miałem problem. Ale to nie był spoiler bo przecież to co napisałem już i tak znajdowało się w jego kodzie.

Podobne pytania

0 głosów
1 odpowiedź 1,065 wizyt
pytanie zadane 19 października 2016 w C i C++ przez Paq_93 Początkujący (260 p.)
+1 głos
2 odpowiedzi 1,318 wizyt
pytanie zadane 9 marca 2017 w SPOJ przez VeeZ Nowicjusz (130 p.)
0 głosów
1 odpowiedź 259 wizyt
pytanie zadane 25 września 2021 w C i C++ przez polandonion Mądrala (7,040 p.)

92,555 zapytań

141,403 odpowiedzi

319,553 komentarzy

61,939 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!

...