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

PA05_POT - Czy umiesz potęgować SPOJ Błędna odpowiedź

+1 głos
2,466 wizyt
pytanie zadane 17 lipca 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

Cześć, mam problem. Napisałem zadanie ze SPOJA (https://pl.spoj.com/problems/PA05_POT/) i u mnie na konsoli wszystko śmiga bez problemu ale SPOJ mi odrzuca z dopiskiem "Błędna Odpowiedź" chociaż wszystko chyba działa dobrze. Wie ktoś o co chodzi? Mój kod:

#include <iostream>
#include <cmath>
#include <sstream>
using namespace std;
int ile, p, w, potega;
int main()
{
   cin>>ile;
   for(int i=0; i<ile; i++)
    {
    cin>>p>>w;
    potega=pow(p,w);
    ostringstream ss;
    ss << potega;
    string str = ss.str();
    int dlugosc=str.length();
    cout<<str[dlugosc-1]<<endl;
    }
    return 0;
}

 

1 odpowiedź

+2 głosów
odpowiedź 17 lipca 2018 przez Mariusz08 Maniak (62,280 p.)
wybrane 17 lipca 2018 przez Piotr Błaszczak
 
Najlepsza

To zagadnienie wiele razy przewijało się na tym forum. Nie radzę korzystać z funkcji pow() gdyż jest ona wolna, dla dużych liczb (np. 2356 do potęgi 1004 będzie liczyło bardzo długo).Musisz zauważyć pewną zależność pomiędzy ostatnimi cyframi kolejnych potęg. Przykład:

2^1 = 2                     2^7 = 128

2^2 = 4                     2^8 = 256

2^3 = 8                     2^9 = 512

2^4 = 16                   2^10 = 1024

2^5 = 32                   2^11 = 2048

2^6 = 64                   2^12 = 4096

Zauważyłeś pewną prawidłowość? Kolejne potęgi mają końcówkę 2,4,8 lub 6. Musisz ogarnąć takie prawidłowości dla wszystkich liczb z zakresu 2-9 oraz zaimplementować to w programie.

komentarz 17 lipca 2018 przez monika90 Pasjonat (22,940 p.)

Nie radzę korzystać z funkcji pow() gdyż jest ona wolna, dla dużych liczb (np. 2356 do potęgi 1004 będzie liczyło bardzo długo)

nonsens

Podobne pytania

+1 głos
2 odpowiedzi 1,393 wizyt
0 głosów
1 odpowiedź 619 wizyt
0 głosów
1 odpowiedź 691 wizyt

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...