182 / 237
Oct 2018

I nie przeczytałem tego wątku!?

Moja wina , nie chcialem przeczytac watku zeby przypadkiem nie zobacyzc odpowiedzi na zadanie w komentarzach . Nad wiekszoscia zadan siedze az je zrobie i nie chce prosic nikogo o pomoc , ale w tym chcialem sie upewnic czy to nie przypadkiem wina kompilatora
Tak czy inaczej dzieki

3 months later

Witam proszę o podpowiedź jak zrobić modulo z liczby wpisanej jako double.
Jeżeli zmienię na inta to 5 do 2 daje mi jako 24 a to zły wynik.
Sam wpadłem na to że daną trzeba zmienić na double ale w tedy niestety modulo nie chce mi
liczyć. Proszę o jakieś sugestie co zrobić. Mój kod:

#include
#include
#include

using namespace std;

double a, b, wynik, ile;

int main()
{
cin>>ile;
for (int i=0; i<=ile; i++)
{
cin>>a>>b;
wynik=pow(a,b);
cout<<wynik % 10;
}

return 0;

}

Popatrz wyżej jak przekazujemy kod. Masz dwie opcje do wyboru:

  1. Zalecana: przez serwis ideone wraz z przykładowym wejściem
  2. Przez taki przycisk podczas pisania wiadomości "</>

Bo chyba widzisz, że:

mało nam mówi, prawda?

każdy może zadać pytanie, ale mało kto czyta przed tym wątek
czy naprawdę myślisz, że jesteś pierwszy który ma taki problem, skoro w wątku jest już 180 postów ?

po co mi te informacje ?
i tak nie mam zamiaru odpowiadać po raz kolejny na to samo pytanie,
powtarzam więc - przeczytaj ten wątek, znajdziesz odpowiedź jak poprawnie zrobić to zadanie oraz dlaczego czasami komputerowi zamiast 25 wychodzi 24 :slight_smile:

Pomocny miły i sugestywny panie mariusz193 dziękuje bardzo za życzliwość i nie ocenioną pomoc w rozwiązaniu mojego problemu i zapewne nieocenionej pomocy udzielonej innym osobom starającym się zrozumieć podstawy programowania.
Jak już wspominałem wcześniej moim problemem nie jest to, że wyskakuje 24 bo ten problem już rozwiązałem przez dodanie danych w formie double.
Problem mam z tym, że funkcja modulo nie działa mi przy danych w tej formie. ;(
I tu rodzi się moje pytanie czy jakoś można można to obejść.
Każda rada oprócz “i tak nie mam zamiaru odpowiadać po raz kolejny na to samo pytanie” będzie pomocna.
Jeżeli znajduje pan czas na pisanie takiego typu bez użytecznych informacji to ma pan za dużo czasu xp
Wątek przejrzałem i nie znalazłem niczego pomocnego.

ja nie zajmuję się rozwiązywaniem cudzych problemów, ja co najwyżej problemy wskazuję a rozwiązanie zostawiam autorowi programu

nie wystarczy przejrzeć, trzeba jeszcze zrozumieć - a w tym wątku wielokrotnie napisano, dlaczego twój program nigdy nie uzyska AC

Ta wersja jest akceptowana przez SPOJ - zupełnie mnie to nie satysfakcjonuje.
Nadal pozostaje problem 5 do 2 końcówka 4 ;(
Jeżeli ktoś chciałby zrobić to naprawdę prawidłowo polecam wersje z double zamiast inta
myślę, że docelowo z tego można uzyskać naprawdę prawidłowy wynik.
Ja się nie poddaje kombinuje dalej. Jeżeli komuś się uda wdzięczny będę za jakiekolwiek podpowiedzi.
Uważam, że nie ma czegoś takiego, że się nie da jak wiele osób tu piszę w wątkach.

#include
#include <math.h>

using namespace std;
int a,b,d;
int p;

int main()
{
cin>>d;
cout<<endl<<endl;

for(int i=0; i<d; i++)
{
    cin>>a>>b;

    a=a%10;

    if (b%4==0)
        b=4;
    else
        b=b%4;

    p=pow(a,b);

    cout<<p%10<<endl<<endl;

}

return 0;

}

@nekron Jak nie wstawisz ładnie kodu (najlepiej przez ideone) to Ci nie odpowiem bo uznam, że zlewasz nasze uwagi.

1 month later

Witam, mój kod(w javie) prawdopodobnie nie przechodzi 2 testów, nie wiem co może być błędnego w moim kodzie, proszę o pomoc.
kod: https://ideone.com/QrKHbJ8
w linku błędna prawdopodobnie 3 435435436 i 8 2128963591

skoro wiesz, dla jakich danych masz błąd, to jest to już jedynie twój problem - nikt za ciebie nie będzie poprawiał

a jeżeli sam nie potrafisz poprawić w rozsądnym czasie, to dopiero wtedy przeczytaj ten wątek, bo odpowiedź już jest :slight_smile:

Dziękuje Mariusz, udało się uporać z problemem! :smiley:
Troszeczkę musiałem inaczej do tematu podejść, parafrazując klasyka to złe rozwiązanie było, nie tylko myliło się w tych przypadkach :stuck_out_tongue:

Witam, kod zwraca poprawne wyniki ale sędzia nie przyjmuje(błąd komilacji). Byc moze chodzilo o bardziej sprytne rozwiazanie.
Za kazda podpowiedz z gory dziekuje :wink:

Dla tych danych na ideone tez dostaje sukces, nie rozumiem dalej co moze byc nie tak, prosze o wyrozumialosc …

Masz takie jedno małe głupie przeoczenie które jednak potrafi zdenerwować xD