Liczba podzielna przez 15
Ostatnio zmodyfikowano 2012-05-13 21:47
SeaMonster131 Temat założony przez niniejszego użytkownika |
Liczba podzielna przez 15 » 2012-05-13 21:37:01 Otóż zadanie wygląda tak: http://pl.spoj.pl/problems/WZP09_2F/I napisałem taki o to program: #include <cstdio> #include <iostream> #include <stdlib.h>
int main() { std::string n, b; int suma = 0, a = 0, c = 0; while( n != "0" ) { std::cin >> n; if( n == "0" ) break; std::string::reverse_iterator it = n.rbegin(); if(( * it == '0' || * it == '5' ) && n.length() >= 2 ) { c = n.length(); while( c-- ) { b = n[ c ]; a = atoi( b.c_str() ); suma += a; } if( suma % 3 == 0 ) printf( "TAK\n" ); else printf( "NIE\n" ); } else printf( "NIE\n" ); } return 0; }
I jak dla mnie to działa on dobrze, lecz po przesłaniu kodu wynik to "błędna odpowiedź".. Wie ktoś dlaczego ? |
|
akwes |
» 2012-05-13 21:42:59 A to -45 i 45 nie jest podzielne na 15 :P ? // yyy zaraz -30 TAK -10 NIE -45 NIE 45 NIE 45 NIE 30 NIE
wtf?? |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2012-05-13 21:47:26 Zapomniałem o wyzerowaniu zmiennej "suma", lecz tak i tak jest błąd.. #include <cstdio> #include <iostream> #include <stdlib.h>
int main() { std::string n, b; int suma = 0, a = 0, c = 0; while( n != "0" ) { std::cin >> n; if( n == "0" ) break; std::string::reverse_iterator it = n.rbegin(); if(( * it == '0' || * it == '5' ) && n.length() >= 2 ) { c = n.length(); suma = 0; while( c-- ) { b = n[ c ]; a = atoi( b.c_str() ); suma += a; } if( suma % 3 == 0 ) printf( "TAK\n" ); else printf( "NIE\n" ); } else printf( "NIE\n" ); } return 0; }
A to -45 i 45 nie jest podzielne na 15 :P ? |
"Każdy zestaw danych zawiera jedną liczbę całkowitą n (n >= 0)" :) // Kurcze, jednak przez te nie wyzerowanie zmiennej "suma" był błąd, oj jaki ja głupi haha :) Szukałem i szukałem błędu a jak na forum temat założyłem to od razu go znalazłem.. |
|
« 1 » |