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

Zmiana tablicy na wskaźniki w pętli

0 głosów
284 wizyt
pytanie zadane 24 stycznia 2017 w Rozwój zawodowy, nauka, praca przez Andruh Początkujący (390 p.)

Witam. Rozwiązywałem problem na SPOJu - http://pl.spoj.com/problems/PA05_POT/

Stworzyłem własny kod i przy różnym numerze testu program przestaje działać mimo, że testy ze SPOJa liczy dobrze. Strona poza tym oddaje błąd SIGABRT. Czy dałoby się przerobić ten kod na wskaźniki? Może wtedy by zadziałało. Myślałem nad tym sporo czasu i nie wpadłem na żaden pomysł jak przerobić te tablice na wskaźniki.

Spróbowałem też przerobić kod z tablicami na kod bez nich i wydaje się bardziej estetyczny, prostszy(chyba za bardzo poleciałem wyobraźnią z tablicami :P), lecz z kolei strona daje komunikat o przekroczonym czasie. Wstawiam oba kody. 

#include <iostream>

using namespace std;

int a,b,t;


int main()
{
    cin>>t;
    for(int i=1; i<=t; i++)
    {

        cin>>a>>b;

        int *c = new int[b];


        c[0]=a;
        for(int j=1; j<=b; j++)
        {
            c[j]=c[j-1]*a;

        }
        if( (c[b-1])>=10 )
        {
            cout<<((c[b-1])%10)<<endl;
        }else
        cout<<c[b-1]<<endl;

        delete [] c;
    }




    return 0;
}

 

#include <iostream>
#include <math.h>
 
using namespace std;
 
int a,b,t,c;
 
 
int main()
{
    cin>>t;
    for(int i=1; i<=t; i++)
    {
 
        cin>>a>>b;
 
 
        c=a;
        for(int j=1; j<b; j++)
        {
            c=c*a;
        }
        if( c >=10 )
        {
            cout<<(c%10)<<endl;
        }else cout<<c<<endl;
 

    }
 
 
 
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 24 stycznia 2017 przez 10kw10 Pasjonat (22,880 p.)
wybrane 26 stycznia 2017 przez Andruh
 
Najlepsza

a wprowadz taki przyklad: 32 do 8, wedlug twojego programu, wypisuje 0, a powinno 6.

W tym zadaniu chodzi o zauwazeniu reguly.

Ostatnia cyfra potegowania

komentarz 26 stycznia 2017 przez Andruh Początkujący (390 p.)
Przeczytałem tylko kawałek i wiem, że z tą pomocą od razu bym napisał pewnie kod, a chcę sam go napisać. Dziękuję za naprowadzenie mnie w dobry kierunek, bo pewnie bym tego nie wymyślił, że o to chodzi. Natomiast do pomocy posłużyłem się tą stronką - http://matematykainnegowymiaru.pl/open/lekcje.php?mode=pokaz&id=70
Nie muszę chociaż rozpisywać na kartcę kolejnych cyfr od każdego przypadku.
Co do 32 do 8 to chodzi pewnie o zakres liczb w int'ach, bo nie moga być większe niż jakieś 4,1 mld, dla potęgi 1mld do 1mld pewnie long long też by się nie zdał. Bardzo zwodny tytuł zadania na tym SPOJ ;)

Dzięki jeszcze raz! A link zostawiam dla kogoś kto będzie chciał się wspomóc.

Podobne pytania

0 głosów
1 odpowiedź 295 wizyt
pytanie zadane 15 kwietnia 2019 w C i C++ przez wz7475 Początkujący (360 p.)
0 głosów
2 odpowiedzi 800 wizyt
0 głosów
0 odpowiedzi 362 wizyt
pytanie zadane 27 maja 2017 w C# przez Raptowny Początkujący (420 p.)

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...