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

Program z zadaniem C++ (mnożenie)

Object Storage Arubacloud
0 głosów
2,457 wizyt
pytanie zadane 24 listopada 2019 w C i C++ przez Kenzy Obywatel (1,160 p.)
edycja 24 listopada 2019 przez Kenzy

Witam. Mam problem z zadankiem ze strony spoj.com. Mam za zadanie pobrać liczbę zestawów danych,  po czym wypisać je pomnożone przez siebie. Ilość zestawów to maksymalnie 1000, natomiast wartość pojedyńczej zmiennej nie może przekraczać 10000, co daje maksymalnie  100000000 (10000*10000).  Zamieszczam niżej dane które są podane w zadaniu i odpowiedzi mojego programu dla tych danych. 

Jak widać dla danych w zadaniu mój program działa prawidłowo, natomiast po wysłaniu kodu ukazuje mi się jakże cudowny napis "Wrong Answer. Chciałbym poprosić o pomoc w nakierowaniu mnie. Czy o czymś nie pomyślałem? 

Oto mój kod: 

int main()
{
    int ilosc_zestawow;
    cin>>ilosc_zestawow;

    int ilosc_danych_do_tablicy=ilosc_zestawow*2;
    int tablica[ilosc_danych_do_tablicy];

    for(int i=0;i<ilosc_danych_do_tablicy;i++)
    {
        cin>>tablica[i];
    }
    for(int i=0;i<ilosc_danych_do_tablicy;i+=2)
    {
        int j=i+1;
        cout<<tablica[i]*tablica[j]<<endl;
    }
}

 

komentarz 24 listopada 2019 przez tkz Nałogowiec (42,000 p.)
Będzie wykonywać się tak długo aż while("różna wartość od 0") 0 jest równoważne z false.

Problem może być w tym, że w C++ nie ma tak dużej zmiennej, 10 000 cyfr to baaaardzo duża liczba. Musisz obmyślić inny sposób mnożenia.
komentarz 24 listopada 2019 przez Kenzy Obywatel (1,160 p.)
W jakim wypadku może się pojawić 10 000 cyfr? Maksymalny wynik mnożenia to 100 000 000, a ilość zestawów to 1000 więc jakim cudem gdziekolwiek wychodzi liczba o takiej ilości cyfr?
komentarz 24 listopada 2019 przez tkz Nałogowiec (42,000 p.)

Możliwe, że coś źle zrozumiałem 

l2 [numbers to multiply (at most 10000 decimal digits each)]

komentarz 24 listopada 2019 przez Kenzy Obywatel (1,160 p.)
To ja źle zrozumiałem, wybacz. Zbyt szybko przeleciałem wzrokiem i byłem przekonany że 10000 to maksymalna liczba. Masz rację muszę pomyśleć o zupełnie innym sposobie na mnożenie. No nic, dziękuję za pomoc, poświęcony czas.
komentarz 24 listopada 2019 przez tkz Nałogowiec (42,000 p.)

https://en.wikipedia.org/wiki/Karatsuba_algorithm Wczytaj w stringu, podzielone liczby zamień na longi i wydrukuj liczbę jako napis. Albo zrób to w pythonie... 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 135 wizyt
pytanie zadane 18 listopada 2023 w Matematyka, fizyka, logika przez Kr1zu Nowicjusz (120 p.)
–1 głos
2 odpowiedzi 285 wizyt
pytanie zadane 23 marca 2019 w C i C++ przez mikolaj_d Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 2,121 wizyt
pytanie zadane 25 kwietnia 2018 w C i C++ przez Marcin Reguła Początkujący (450 p.)

92,579 zapytań

141,431 odpowiedzi

319,657 komentarzy

61,963 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!

...