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

MWPZ06D - Imieniny SPOJ

Cloud VPS
0 głosów
1,644 wizyt
pytanie zadane 14 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)
edycja 14 sierpnia 2018 przez Piotr Błaszczak

Cześć, ma problem z pozoru prostym zadaniem ze spoja(https://pl.spoj.com/problems/MWPZ06D/). Napisałem prosty, krótki, ładny kod który u mnie działa jak należy, ale niestety SPOJ odrzuca go z komentażem "Błąd wykonania".Pomoże ktoś? Mój kod:

#include <iostream>

using namespace std;

int t,l,c;
int main()
{
   cin>>t;
   for(int i=0; i<t; i++)
   {
       cin>>l>>c;
       l--
  int p=c/l;
  if(l-c*p!=0)cout<<"TAK"<<endl;
  else cout<<"NIE"<<endl;
   }
}

 

komentarz 14 sierpnia 2018 przez niezalogowany
"krutki" bije po oczach...

1 odpowiedź

+1 głos
odpowiedź 14 sierpnia 2018 przez niezalogowany
wybrane 15 sierpnia 2018 przez Piotr Błaszczak
 
Najlepsza

SPOJ podaje Ci konkretny błąd wykonania (SIGFPE) i link do jego opisu:

SIGFPE

The SIGFPE signal is sent to a process when it executes an erroneous arithmetic operation, such as division by zero (the name "FPE", standing for floating-point exception, is a misnomer as the signal covers integer-arithmetic errors as well).

Gdzieś w kodzie wykonało się dzielenie przez zero. Będzie tak tylko w sytuacji gdy liczba uczniów w klasie bez solenizanta będzie wynosić 0. W takiej sytuacji zbierze on wszystkie cukierki - musisz uwzględnić taką możliwość. Cukierków będzie więcej niż 0 więc nie trzeba się martwić niczym innym.

Dodatkowo masz błąd w instrukcji warunkowej pomyliłeś zmienne. Powinno być:

if (c - l * p != 0) // c, l podmienione
// liczba cukierków - liczba uczniów * liczba cukierków na ucznia != 0

Uwzględniając te uwagi powinieneś otrzymać poprawny wynik.

Dodatkowo: Resztę z dzielenia możesz łatwo otrzymać korzystając z operacji modulo:

if (c % l != 0)

Podobne pytania

0 głosów
1 odpowiedź 482 wizyt
pytanie zadane 23 sierpnia 2020 w C# przez AgentTecza Obywatel (1,810 p.)
0 głosów
1 odpowiedź 547 wizyt
0 głosów
1 odpowiedź 635 wizyt
pytanie zadane 17 sierpnia 2020 w SPOJ przez niezalogowany

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

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

Kursy INF.02 i INF.03
...