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

question-closed Problem zadanie NWD

Object Storage Arubacloud
0 głosów
348 wizyt
pytanie zadane 21 października 2015 w C i C++ przez famousghost Początkujący (430 p.)
zamknięte 21 października 2015 przez famousghost
Witam mam problem w zadaniu na polskim spoju w c++ nie rozumiem czemu sędzia nie chce go zaliczyć chociaż jak sprawdzam te testy to wyniki są poprawne proszę o pomoc.

 

#include <iostream>

using namespace std;

int a,b,t;
int nwd(int a,int b)
{
    while(a!=b)
{
    if(a>b)
    {
        a-=b;
    }

    else if(b>a)
    {
        b-=a;
    }

}
return a;
}

int main()
{
    cout<<"ile ma byc powtorzen"<<endl;
    cin>>t;
    for(int i=0;i<t;i++)
    {
    cout <<" podaj liczby oddzielone spacja"<< endl;
    cin>>a>>b;
    if((a>0)&&(b>0)&&(a<1000000)&&(b<1000000))
    {
    cout<<"wynik to: "<<nwd(a,b)<<endl;
    }
    else
    {
        cout<<"blad podaj kolejne liczby"<<endl;
    }

    }
    return 0;
}

 

Dziękuje wszystkim za pomoc Problem rozwiązany program został zaakceptowany. ;)
komentarz zamknięcia: Problem rozwiązany

5 odpowiedzi

0 głosów
odpowiedź 21 października 2015 przez Sedi Stary wyjadacz (10,200 p.)
wybrane 21 października 2015 przez famousghost
 
Najlepsza
Tak jak przedmówca powiedział, podaj treść zadania :)

Swoją drogą, to w SPOJU nie siedzi człowiek, tylko maszyna, więc komputer nie rozumie co znaczy "ile ma być powtórzeń". Nie rób też ograniczeń, bo typu if(a>0), bo komputer tam ma określone liczby i je wprowadza. Może najpierw zdejmij wypisywanie typu : "blad podaj kolejne liczby" ?:)

Pozdrawiam
komentarz 21 października 2015 przez famousghost Początkujący (430 p.)
Dzieki wielkie :D w życiu bym nie wpadł na to, że sędzia może wywalać błąd przez te głupie cout'y i przez ograniczenia
0 głosów
odpowiedź 21 października 2015 przez Rogargol Pasjonat (16,600 p.)
Podaj tresc zadania
0 głosów
odpowiedź 21 października 2015 przez furas Maniak (53,800 p.)
Na SPOJ'u wypisywane teksty muszą się zgadać co do kroki, spacji, entera, wielkości liter itd. Jeśli w treści zadania nie ma informacji, że ma wypisywać pytanie o kolejną liczbę to go nie wolno wstawić.

To, że program przechodzi przykładowe zadania jeszcze nic nie znaczy. Zawsze przetestują na takich skrajnych przypadkach o których nawet nie pomyślałeś.

Jedno jest tylko pewne - jeśli napisali, że będą testować na a>0 to można to przyjąć za pewnik i nie trzeba sprawdzać.
0 głosów
odpowiedź 21 października 2015 przez Rogargol Pasjonat (16,600 p.)

Jedno co mi sie rzucilo w oczy to ze w funkcji nwd zawsze zwracasz tylko wartosc zmiennej a, dlatego zupelnie bez sensu jest 

else if(b>a)
    {
        b-=a;
    }

bo i tak pozniej zwracasz wartosc a.

0 głosów
odpowiedź 21 października 2015 przez Grzesiek Eleryk Mądrala (6,820 p.)
Poczytaj na temat algorytmu Euklidesa 2. Zwalnia tylko dla kolejnych dwóch liczby Fibonacci'ego, czyli działa bardzo szybko.

Podobne pytania

0 głosów
2 odpowiedzi 689 wizyt
pytanie zadane 27 września 2021 w C i C++ przez polandonion Mądrala (7,040 p.)
+1 głos
3 odpowiedzi 1,129 wizyt
pytanie zadane 6 lutego 2017 w C i C++ przez cubus Początkujący (430 p.)
0 głosów
2 odpowiedzi 207 wizyt
pytanie zadane 22 listopada 2020 w C i C++ przez BedrisK Użytkownik (600 p.)

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...