6 / 9
Mar 2020

#include

using namespace std;

int main()
{
int ile, wynik=1;

cin >> ile;

for (int i=0; i<ile; i++)
{
    int n;
    cin >> n;
    for (int j=1; j<=n; j++)
    {
        wynik*=j;
    }
    int dzies=wynik/10;
    cout << dzies%10 << " " << wynik%10 << endl;
}
return 0;

}

Dlaczego cały czas mam błąd lub przekroczono czas? Na zmiane te komunikaty jestem pewny ze program jest napisany poprawnie

  • created

    Mar '20
  • last reply

    Mar '20
  • 8

    replies

  • 993

    views

  • 4

    users

  • 3

    likes

  • 1

    link

  1. Dlaczego tworzysz nowy wątek zamiast podłączyć się do już istniejącego?
    Jesli zaczynasz - przeczytaj koniecznie! Kliknij w to prosze
  2. Jestem ciekawy skąd masz pewność o poprawności swojego kodu?
  3. Masz komunikaty, że jest błąd lub przekroczono czas bo w programie masz błąd lub przekraczasz czas.
    Sprawdź sobie wyniki dla dwóch serii testów
    a)
    3
    10
    10
    10
    b)
    10
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000
    1000000000

Och nie, znowu ? - chcialoby sie napisac, bo temat byl na forum wiele razy. W programie nastepuje przepelnienie zmiennej wynik. Zmiana na long long int niewiele da poniewaz kilka mnozen wiecej a zmienna rowniez sie przepelni. Co pozostaje policzyc kilkanascie pierwszych wartosci silni nawet na kartce i zauwzyc co dzieje sie z 2 cyframi.

EDIT
ups ale spoiler zrobilem sorry @korkirw

Podejrzewam, że na zmianę, wysyłasz różne [niedopracowane i nieprzemyślane] kody?

Widzę, że nie ma sensu tu pytać o coś, bo zamiast dostać wskazówkę lub podpowiedź jak zrobić to poprawnie to większość ma jakiś problem i komentują bez sensu, nie dając pomocy.

Wystarczyło dać jakąś wskazówkę, lub naprowadzić a nie bez sensu pisać odpowiedzi, które wcale nie pomagają.

To sproboje bez złośliwości najkrojej jak to możliwe.
Przelicz silnie od 0 do 12. Zapisz to na kartce żebyś widział wszystko. (to nie głupia rada) Powinieneś coś zauwazyć i zauważyć wiezauwść programu zmienic. Może użyjesz swich case lub serie if-ów.
EDIT
Poprawilem pisownie troszkę.

Dziękuje. Nakierowałeś mnie i teraz wszystko działa tak jak powinno i sędzia zaakceptował. Gdyby wszyscy tak sensownie i konkretnie odpowiadali, zupełnie inaczej by się pracowało. Dzięki wielkie raz jeszcze. Pozdrawiam

Gdyby wszyscy pytający stosowali się do reguł na SPOJ na pewno byłoby mniej złośliwości.
To o co pytałeś było przy okazji tego zadania omawiane chyba dziesiątki razy.
Przeczytałeś uwagi w linku, który zamieściłem na początku?