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

SPOJ/2cyfrysilni/pytanie zawiera odpowiedz

Cloud VPS
0 głosów
151 wizyt
pytanie zadane 24 września 2020 w C i C++ przez Pelo Użytkownik (520 p.)
ZADANIE SPOJ: 2 CYFRY Z SILNI!
#include <iostream>
using namespace std;
int main ()
{
    int n;
    int* tab = new int[n];
    int* tab1 = new int[n];
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        cin>>tab[i-1];
    }
    for (int i=1;i<=n;i++)
    {
        tab1[i-1]=1;
    }
    for (int i=1;i<=n;i++)
    {
        if(tab[i-1]==0||tab[i-1]==1)
        {
        cout<<"0 1\n";
        }
        else
        {
            for(int k=1;k<=tab[i-1];k++)
            {
                tab1[i-1]*=k;
            }
            while(tab1[i-1]>=100)
            {
                tab1[i-1]=tab1[i-1]%100;
            }
            if(tab1[i-1]>10)
            cout<<((tab1[i-1]%100)-(tab1[i-1]%10))/10<<" "<<tab1[i-1]%10<<endl;
            else
            cout<<"0 "<<tab1[i-1]%10<<endl;
        }
    }
    }

Wstawiam cały kod ponieważ mam problem z tym, że mój program przekracza limit czasowy. W jaki sposób mogę zoptymalizować kod?

2 odpowiedzi

+1 głos
odpowiedź 24 września 2020 przez tangarr Mędrzec (155,180 p.)
wybrane 28 września 2020 przez Pelo
 
Najlepsza
Zadanie nie polega na obliczeniu silni tylko wypisaniu dwóch ostatnich cyfr.
Aby zrozumieć czego od ciebie wymaga zadanie rozpisz sobie na kartce wyniki silni dla liczb z zakresu od 1 do 20 i spójrz na dwie ostatnie cyfry każdego wyniku.
+1 głos
odpowiedź 24 września 2020 przez mccarol Nowicjusz (240 p.)
Moim zdaniem musisz zacząć od nowa. Na pewno nie musisz używać tablic. Od liczby 10 w górę cyfra jedności i dziesiątek to będzie i tak 0. Pozostaje Ci więc wyznaczyć cyfrę jedności i dziesiątek dla liczb od 9 w dół.

Powodzenia!

Podobne pytania

0 głosów
1 odpowiedź 250 wizyt
0 głosów
3 odpowiedzi 399 wizyt
pytanie zadane 7 kwietnia 2020 w SPOJ przez milosz123 Użytkownik (720 p.)
0 głosów
1 odpowiedź 547 wizyt

93,484 zapytań

142,417 odpowiedzi

322,763 komentarzy

62,895 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

Kursy INF.02 i INF.03
...