Witam, mam problem z tym zadaniem. Dla przykładowych danych program działa. Zdaję sobie sprawę z tego, że nie jest on optymalny, ale zastanawia mnie dlaczego sędzia uznaje odpowiedź za błędną. https://ideone.com/43M8yh Z góry dziękuję za odpowiedzi.
Faktycznie, dla większości przypadków działa. Ale nie dla
2 10 11
Rzeczywiście! Dziękuję bardzo za ten przypadek. Zorientowałem się dzięki temu, że program nie działał, gdy następną liczbą wprowadzaną do programu jest liczba, którą przed chwilą program podawał jako palindrom, ponieważ nie czyściłem zawartości jednego stringa. Zmieniłem to i już zaakceptowało
witam, podpinam się pod ostatni post w temacie. jedna z funkcji w programie ma odwracać kolejność cyfr. podczas sprawdzania moja wypisuje cyfra po cyfrze, ale już nie wypisuje stringa jako calosci. czy mozecie luknąć? jest poza zakresem??? (oczywiscie w ideonie kod jest podany tylko jako forma odniesienia) Edyta podpowiada: zrób najpierw zadanie: Tablice. Proszę mi już nie odpowiadać. dz.
Witam, prosze o wskazanie błedu, znajduje się on gdzieś w funkcji. Przynajmniej tak twierdzi ideone. Link do zadania https://pl.spoj.com/problems/BFN1/ Link do ideone https://ideone.com/RO3rfD Dziękuje za pomoc!
Funkcje itoa i strrev nie są w standardzie języka C (czyli część kompilatorów może je zawierać, a część nie). Dlatego otrzymujesz błąd kompilacji. Zamiast nich możesz użyć w pierwszym wypadku funkcji sprintf (wygoogluj sobie), w drugim musisz napisać własną funkcję.
itoa
strrev
sprintf
Dzięki za rady, napisałem własną funkcje odwracająca elementy, zamiast atoi i itoa uzylem sprintf i sscanf ale niestety nie pomoglo. Ideone tez zwraca sukces https://ideone.com/cssAKc Prosze o jakas inna podpowiedz z góry dzieki!
Twój kod nie przechodzi dla testu: 2 10 11
Nie potrzebujesz też ifa który sprawdza czy ile_testow mieści sie w podanym zakresie. Zakres jest podany w treści zadania tylko po to aby dać pojecie o wielkości danych wejściowych i dobrać odpowiedni typ zmiennej. Pomijając tego ifa to usunięcie dokładnie jednej linijki z Twojego kodu pozwoliło otrzymać AC.
E tam, taki sukces. Tylko tyle, że się poprawnie kompiluje i dla pustego wejścia, nic nie zwraca. Może przetestój taki:
int main(){ }
i zobacz, czy [też] będzie sukces, czy nie? [na ideone]
Witam, mam problem z rozwiązaniem tego zadania. Program piszę w python3. Kod liczy wszystko poprawnie do liczby 69. Proszę o wskazówki gdzie zrobiłem błąd. https://ideone.com/ppFaBt
Witam
Wskazówka: funkcja palindrom powinna przed porównaniem dwóch połówek liczby obrócić kolejność znaków w jednej z połówek.
Poboczna uwaga: Nie znam się na python-ie, ale czy nie jest to dziwne, że x jest na zmianę int-em i str-ingiem.
Jeśli zmienię kolejność znaków tylko w jednej porównywanej połówce to nie spełnię warunków zadania.
Mając przykładowo liczbę x = 3456 najpierw tworze sobie jej odwrotność czyli 1542. Następnie sumuje dwie wartości i otrzymuje wynik 4998. Teraz sprawdzam czy pierwsze dwie cyfry są równe dwóm ostatnim a ty proponujesz mi odwrócenie kolejności znaków z 49 na 94 i porównanie tego z 98. Nie rozumiem dlaczego ;/
Właśnie o to chodzi. Zadanie polega na sprawdzaniu Czy liczba po zsumowaniu jest palindromem. 121 jest palindromem (treść zadania) 4884 jest palindromem (na marginesie jest to wynik zabawnych dodawań dla 69) 4848 nie jest palindromem
W sumie to nie musisz obracać połówki. Możesz też porównać po kolei znaki pierwszy z ostatnim, drugi z przedostatnim itd jeśli liczba jest dłuższa.
Już rozumiem, zadanie zaliczone. Dziękuje bardzo za pomoc
Dzień dobry,
bardzo proszę o pomoc. Niestety nie umiem znaleźć błędu, a sędzia jednak rozwiązanie odrzuca. https://ideone.com/DtPvW3
Jedyne co widzę to w pętli while(CzyPalindorm(liczba)!= true) zmienna liczba może zyskiwać na długości (wielkości stringa), a liczbaOdwrocona nie (ciągle ma taką samą długość, przez co pewnie wychodzisz poza zakres po kilku iteracjach).
while(CzyPalindorm(liczba)!= true)
liczba
liczbaOdwrocona
@eksekk dzięki, działa
Cześć,
jak moi przedmówcy, mam problem z uzyskaniem AC dla tytułowego zadania. Mój kod wygląda tak: https://ideone.com/SRa4c2 i jest napisany w C++. Już trzeci dzień główkuję nad tym problemem i nie potrafię znaleźć błędu, dlatego proszę o pomoc .
Dostaje takie same wyniki w moim programie który dostał AC.
EDIT: w związku z postem @bieniek_k moja analiza jest niepotrzebna i myląca więc skasowałem.
Ja odkryłem że kod kolegi @elefesel nie działa tylko w c++ 4.3.2. W każdej wyższej wersji już dostanie AC, tylko jeszcze nie mogę odkryć skąd się bierze ten błąd P.S Po wielu próbach uzyskałem AC na 4.3.2. Zmieniłem tylko jedną rzecz.
ans = palinSum(number, &sumNum); cout<<ans<<" "<<sumNum<<endl;
A dlaczego nie wiem Może ktoś mądrzejszy będzie potrafił to wyjaśnić